c# - 每次我在外部单击我的 wpf 页面时触发的事件是什么?

标签 c# wpf xaml

我正在使用 wpf 开发 Windows 应用程序。当我在创建的控件之外单击时,我想执行一些功能。例如,如果我在我的窗口中打开了消息框,我想在我的消息框窗口外单击时执行某些功能。

我试过了,

    private void OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
    {
      .....
    }

但它不起作用..请任何人告诉我,当我在我的控制之外单击时触发的事件是什么?

最佳答案

你有两个假设的解决方案:

其中之一是从系统而不是从应用程序获取 Mouse.X、Mouse.Y,本文将有所帮助 http://www.codeproject.com/Articles/7294/Processing-Global-Mouse-and-Keyboard-Hooks-in-C

第二个更好的是不使用 Dialog,而是使用 PopUp 窗口,这篇文章会有所帮助

how to close a WPF Dialog Window when the user clicks outside it

关于c# - 每次我在外部单击我的 wpf 页面时触发的事件是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27688550/

相关文章:

c# - 在运行时动态绑定(bind)到自定义业务对象

c# - Async/Await 相当于 .ContinueWith with CancellationToken 和 TaskScheduler.FromCurrentSynchronizationContext() 调度程序

c# - 为什么 ToList() 在 linq 中不起作用?

wpf - Silverlight按钮样式如何在按下按钮时防止其处于聚焦状态?

c# - 无法让 ItemsSource 为 DataGridComboBoxColumn 动态工作

c# - 编译时常量域

.net - 在数据库中保存格式化文本的有意义的格式是什么?

c# - 当我们使用双流时,GUI会卡住

xaml - 如何使 RichTextBlock 中的超链接不完全不对齐?

xaml - WPF中ToolTip样式的DataTemplate的DataContext