如何解决如何在WPF NotifyIcon中将“单击事件”添加到上下文菜单按钮?
我正在制作一个在WPF中具有通知图标的应用程序。我正在使用HardCodet NotifyIcon。他们确实有一个tutorial on code project,它非常有用,但是当按下上下文菜单中的按钮时,它没有任何关于如何设置OnClick
或Click
事件的解释。>
我遍历了NotifyIcon.ContextMenu.Items
和NotifyIcon.ContextMenu.Items.GetItemAt(i)
(TaskbarIcon NotifyIcon = (TaskbarIcon) FindResource("MyNotifyIcon")
)中的每个属性,但是没有找到任何东西。我还尝试过将按钮的类型转换为MenuItem
并使用其Click
事件,但这没有帮助。
这是我的App.xaml
:
<Application.Resources>
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:tb="http://www.hardcodet.net/taskbar">
<tb:TaskbarIcon x:Key="MyNotifyIcon"
ToolTipText="Hello There">
<tb:TaskbarIcon.ContextMenu>
<ContextMenu Background="White">
<MenuItem Header="Open"/>
<MenuItem Header="Settings"/>
<MenuItem Header="Sign Out"/>
<MenuItem Header="Help"/>
<MenuItem Header="Exit"/>
</ContextMenu>
</tb:TaskbarIcon.ContextMenu>
</tb:TaskbarIcon>
</ResourceDictionary>
</Application.Resources>
我需要按钮来控制MainWindow
,例如更改Visibility
等。
解决方法
与其他控件没有区别,您只需在每个Click
上设置一个MenuItem
处理程序即可。
<MenuItem Header="Open" Click="Open_OnClick"/>
在您的示例中,您将在App.xaml.cs
中实现事件处理程序。
public partial class App : Application
{
// ...application code.
private void Open_OnClick(object sender,RoutedEventArgs e)
{
// ...do something.
}
}
您还可以将视图模型指定为DataContext
到TaskbarIcon
并使用命令。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。