双击Caliburn Micro的WPFNotifyIcon

Pau*_*ean 2 wpf caliburn.micro

我正在尝试使用WPF NotifyIconCaliburn Micro.我的最终目标是双击系统托盘中的图标,将窗口从最小化状态恢复.随意告诉我,我试图去做的方式是完全错误的.

我可以看到,有一DoubleClickCommandTaskbarIcon(我没有看到任何DoubleClick事件,我真的很高兴的使用,如果它是可用).通常在使用Caliburn Micro时使用命令时,我只会创建一个Restore()方法和一个CanRestore属性,该方法和属性将由名为Restore的按钮自动调用.我怎样才能将事情挂钩,以便Restore()双击系统托盘中的图标?

编辑 - 根据格伦的建议,我现在添加了一个附加事件,但双击系统托盘中的图标似乎仍然无效.代码如下.

xaml -

<tb:TaskbarIcon cal:Message.Attach="[Event DoubleClick] = [Action Restore]" />
Run Code Online (Sandbox Code Playgroud)

VM -

public void Restore()
{
    MessageBox.Show("moo"); // breakpoint on this line is never hit
}

public bool CanRestore
{
    get { return true; }
}
Run Code Online (Sandbox Code Playgroud)

Ibr*_*jar 5

请尝试以下方法:

<TaskbarIcon cal:Message.Attach="[Event TrayMouseDoubleClick] = [Action DoubleClickFunc]"/>
Run Code Online (Sandbox Code Playgroud)

请注意,事件名称是TrayMouseDoubleClick我通过查看控件的源代码找到的,特别是名为的文件TaskBarIcon.Declarations.cs.

此文件包含为TaskBarIcon类定义的所有依赖项属性定义和路由事件.