VB WPF 如何处理 resourceDictionary 中对象的上下文菜单项上的单击事件

VB WPF How to handle a click event on a context menuItem in an object in a resourceDictionary

我刚开始使用 WPF,请多多包涵。

我在 Visual Basic 2015 中使用现成的 NotifyIcon 替换 WPF。 (http://www.hardcodet.net/wpf-notifyicon)

我已经阅读了文档(尽管它们是用 c# 编写的...)并最初在 resourceDictionary 中对其进行了配置。

    <ResourceDictionary               
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:SystemTrayTest"
xmlns:tb="http://www.hardcodet.net/taskbar"
   >
   <!-- Globally declared notify Icon -->
     <tb:TaskbarIcon x:Key="MyNotifyIcon"
              IconSource="/Icons/Error.ico" 
              ToolTipText="Project Activity Recorder"  >
         <tb:TaskbarIcon.ContextMenu>
    <ContextMenu
      Background="LightCoral">
      <MenuItem x:Name="CA" Header="Current Activity"/>
      <MenuItem Header="New Activity" />
      <MenuItem Header="Manage Activities" />
      <Separator />
      <MenuItem Header="Manage Companies" />
      <MenuItem Header="Manage Projects" />
      <MenuItem Header="Manage Users" />
      <Separator />
      <MenuItem Header="Exit" />
    </ContextMenu>
  </tb:TaskbarIcon.ContextMenu>
     </tb:TaskbarIcon>
   </ResourceDictionary>

我通过在 Application_Startup 事件中实例化它来启动 NotifyIcon。

  tb = CType(FindResource("MyNotifyIcon"), TaskbarIcon)

这显示带有上下文菜单的系统托盘图标很好。

但是,当用户从内容菜单中选择时,我不知道如何选择。

我以前用 windows 表单编程,但正如我提到的,WPF 对我来说是新的。我可以从 WPF 表单中猜出如何执行此操作,但我开始考虑它是因为我已经在 resourceDictionary 中设置了 NotifyIcon。

我希望得到一些友好的指导。

非常感谢大家!

It is possible ResourceDictionary 有代码隐藏。但是,在这种情况下,我怀疑它对您是否有用,因为我很确定您会需要 window 中的一些东西。

如果这不是必需的,您可以使用资源字典的代码隐藏。