c# - 处理 wpf 应用程序中任何未处理的点击事件

标签 c# .net wpf xaml

我有一个带有自定义上下文菜单的 WPF 应用程序,效果很好,但我想确保如果用户从上下文菜单中单击到应用程序的另一部分,上下文菜单将关闭。我有一个全局应用程序事件,我可以调用它来关闭菜单,所以我真的在寻找如何最好地处理点击事件本身。

奖励问题:我如何处理人们切换到另一个应用程序(即应用程序失去焦点)

更新 根据我尝试使用 EventTrigger 的评论,但它没有按预期工作。如果我点击控件,它不会触发,它只会在其他特定的东西获得焦点时触发

    <i:EventTrigger EventName="LostFocus">
        <i:InvokeCommandAction Command="{Binding MouseRightButtonUp}" />
    </i:EventTrigger>

最佳答案

为什么不使用支持该任务的相关控件来维护上下文菜单的行为,而只是通过使用控件模板以不同方式呈现该控件的视觉构成。

这就是控制模板存在的原因。

关于c# - 处理 wpf 应用程序中任何未处理的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25312859/

相关文章:

c# - 编译基于 C# 的 Windows (WinForms App) 应用程序以在 Mac OS High Sierra 或 Mojave 上运行

c# - 我应该捕获所有可能的特定异常还是只是一般异常并将其包装在自定义异常中?

.net - c#中的System.Security.Cryptography.RNGCryptoServiceProvider类中使用的算法是什么

c# - 如何避免在 InitializeComponent 期间触发事件?

c# - 仅当用户更改值时才会发生的 WPF Slider 事件

wpf - Prism Delegate 命令未启用按钮

c# - 如何检查一个对象是否是列表枚举类型的对象?

c# - 使用运行时多态

c# - 如何从 aspx 引用 cs 中的常量?

c# - Web.config 或 App.config 键是否不区分大小写?