从UserControl控制窗口关闭

时间:2014-01-17 10:54:40

标签: wpf user-controls

我正在使用优秀的MUI库https://mui.codeplex.com/来创建我的WPF应用程序。

自定义窗口在MUI窗口中实现为用户控件。要打开窗口,请创建现代窗口的实例,将用户控件作为内容传递。到目前为止,这可以正常工作,但我遇到的问题是尝试从用户控件控制父窗口。

当我说“试图控制”时,我的意思是验证窗口的密切行为。

用户控件是我所有编辑数据等的地方,我想阻止父窗口关闭,如果用户正在编辑数据 - 即。 “关闭是的,没有取消”的事情。

我可以从用户控件成功关闭父窗口,但我看不到如何反向 - 即停止关闭窗口。

有人可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:4)

我对mui知之甚少,但我觉得这样的事情应该可以解决问题

public partial class UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();

        Loaded += UserControl1_Loaded;
    }

    void UserControl1_Loaded(object sender, RoutedEventArgs e)
    {
        var window = Window.GetWindow(this);
        window.Closing += window_Closing;
    }

    void window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
        if (!Valid()) // You can show a message box or whatever logic you want
            e.Cancel = true;
    }
}
相关问题