WPF NotifyIcon 使用 的是winform中的库, 对应的右键菜单也是winform库中的,无法设定样式,以保持和整个系统的右键菜单风格一致。
我们可以自定义个右键菜单在xaml中,然后再NotifyIcon的click事件中判断是不是 点击了右键,然后显示我们定义 的wpf的右键菜单对象即可。
主要代码:
notifyIcon.MouseClick += new System.Windows.Forms.MouseEventHandler(notifyIcon_MouseClick);
<Window.Resources>
<ContextMenu x:Key="NotifyIconMenu" Style="{StaticResource ContextMenu}" StaysOpen="False">
<MenuItem Header="打开" Style="{StaticResource MenuItem}"
Name="MenuOpen" Click="MenuOpen_OnClick"/>
<MenuItem Header="退出" Style="{StaticResource MenuItem}"
Name="MenuExit" Click="MenuExit_OnClic