我正在尝试使用 WPF NotifyIcon和 Caliburn Micro一起。我的最终目标是双击系统托盘中的图标,将窗口从最小化状态恢复。如果我尝试的方法完全错误,请随时告诉我。
我可以看到 TaskbarIcon
上有一个 DoubleClickCommand
(我没有看到任何 DoubleClick 事件,如果它是可用的)。通常,在使用 Caliburn Micro 处理命令时,我会简单地创建一个 Restore()
方法和一个 CanRestore
属性,它们会被名为 Restore 的按钮自动调用.我将如何进行连接以便在双击系统托盘中的图标时调用 Restore()
?
编辑 - 根据 gleng 的建议,我现在添加了一个附加事件,但双击系统托盘中的图标似乎仍然无能为力。代码如下。
xaml-
<tb:TaskbarIcon cal:Message.Attach="[Event DoubleClick] = [Action Restore]" />
虚拟机-
public void Restore()
{
MessageBox.Show("moo"); // breakpoint on this line is never hit
}
public bool CanRestore
{
get { return true; }
}
最佳答案
尝试以下操作:
<TaskbarIcon cal:Message.Attach="[Event TrayMouseDoubleClick] = [Action DoubleClickFunc]"/>
请注意,事件名称是 TrayMouseDoubleClick
,这是我通过查看控件的源代码找到的,特别是名为 TaskBarIcon.Declarations.cs
的文件。
此文件包含为 TaskBarIcon
类定义的所有依赖属性定义和路由事件。
关于wpf - 使用 Caliburn Micro 双击 WPF NotifyIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19447515/