wpf - 使用 Caliburn Micro 双击 WPF NotifyIcon

标签 wpf caliburn.micro

我正在尝试使用 WPF NotifyIconCaliburn 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/

相关文章:

wpf - Entity Framework 和 WPF 最佳实践

wpf - 在Caliburn.micro中切换 View 模型/ View 的简单方法

c# - 我的 ViewModel 是否具有 Model 的属性和单独的属性?

wpf - 提供程序 : System. Data.SqlServerCe.3.5 未安装

c# - WPF中有没有类似于Visual Studio工具箱的控件?

c# - ObservableCollection 和线程

c# - WPF:如何在 MVVM 中播放 Storyboard?

silverlight - Caliburn Micro 中保护方法的强制重新评估

.net - 使用命令行参数自定义容器配置

.net - Caliburn EventAggregator moq 验证 PublishOnUIThreadAsync 异步方法