如何在用户点击外部时关闭WPF对话窗口

las*_*iya 13 wpf

我想关闭一个System.Windows.Window,如果用户点击它以外的任何地方.窗口显示为对话框.如何在wpf窗口外收到点击?

AppointmentDetailsView.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

sky*_*dev 19

这个怎么样?

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    protected override void OnDeactivated(EventArgs e)
    {
        base.OnDeactivated(e);
        Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这是一个更简单的解决方案,它的工作原理.您还可以在XAML或代码中为Deactivated事件添加事件处理程序:'Deactivated ="Window_Deactivated"'<! - 在XAML中 - >或'Deactivated + = Window_Deactivated;'/*分别代码*/.然后只需调用close(); 在处理程序中. (4认同)