加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 用于托盘图标的WPF ContextMenu

发布时间:2020-12-16 01:54:50 所属栏目:百科 来源:网络整理
导读:我有一个 WPF应用程序,我可以最小化托盘.当我正常点击它时,窗口再次显示. 现在我想知道如何创建一个简单的ContextMenu? ContextMenu必须填充x选项,onclick将运行一个函数.现在我只需要一个’Exit’项链接到’Exit_Click’方法. 我尝试过的是: ContextMenu
我有一个 WPF应用程序,我可以最小化托盘.当我正常点击它时,窗口再次显示.

现在我想知道如何创建一个简单的ContextMenu?

ContextMenu必须填充x选项,onclick将运行一个函数.现在我只需要一个’Exit’项链接到’Exit_Click’方法.

我尝试过的是:

ContextMenu menu = (ContextMenu)this.FindResource("NotifierContextMenu");
menu.IsOpen = true;

菜单不知道任何IsOpen值.

其他例子喜欢使用很多不同的东西. One of them requires me to create a HostManager for some reason.

我只需要一个简单的ContextMenu.我怎样才能做到这一点?

解决方法

作为@ H.B.提到 Hardcodet’s NotifyIcon对于WPF任务栏图标非常有用.很糟糕,你不能用WPF开箱即用,但是你可以使用它并解决你的问题,而不是等待微软修复它(他们真的应该把这个库添加到标准中)

现在解决您的问题(使用上述解决方案):

>下载解决方案
>构建库
>如果您有源控件,请将其添加到源代码管理中,并在项目中添加对它的引用(Hardcodet.Wpf.TaskbarNotification.dll)

现在在您的MainWindow.xaml中,您可以拥有以下内容:

<Window ...
        xmlns:tb="http://www.hardcodet.net/taskbar"
        ...>
  ...
  <Grid>
    <tb:TaskbarIcon>
      <tb:TaskbarIcon.ContextMenu>
        <ContextMenu>
          <MenuItem Click="Exit_Click"
                    Header="Exit" />
        </ContextMenu>
      </tb:TaskbarIcon.ContextMenu>
    </tb:TaskbarIcon>
    ...
  </Grid>
</Window>

和MainWindow.xaml.cs一样,你需要点击处理程序:

private void Exit_Click(object sender,RoutedEventArgs e) {
  Application.Current.Shutdown();
}

我建议花一些时间查看库中源代码附带的示例,以熟悉您的可用选项.相信我wpf在帮助库方面太容易了.尝试一些qt帮助程序库,你就会知道“埋在某处”的字面意思是在开源助手中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读