Wpf 从UserControl关闭控制窗口

Wpf 从UserControl关闭控制窗口,wpf,user-controls,Wpf,User Controls,我正在使用优秀的MUI库创建我的WPF应用程序 自定义窗口作为MUI窗口中的用户控件实现。要打开窗口,请创建现代窗口的实例,并将用户控件作为内容传递。到目前为止,这一切正常,但我遇到的问题是试图从用户控件控制父窗口 当我说“试图控制”时,我的意思是验证窗口的关闭行为 用户控件是我编辑所有数据等的地方,如果用户正在编辑数据,我想阻止父窗口关闭,即“关闭是,否取消”之类的事情 我可以从用户控件成功地关闭父窗口,但我看不到如何做相反的操作,即停止关闭窗口 有人能帮忙吗 谢谢我对mui了解不多,但我认为

我正在使用优秀的MUI库创建我的WPF应用程序

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

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

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

我可以从用户控件成功地关闭父窗口,但我看不到如何做相反的操作,即停止关闭窗口

有人能帮忙吗


谢谢

我对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;
    }
}

(显然,现在回答我自己的问题还为时过早,但这里是…)在UserControl加载的事件中,将事件附加到父窗口的关闭事件窗口parentWindow=window.GetWindow(this);parentWindow.Closing+=parentWindow\u Closing@垃圾桶什么?如果我的回答解决了你的问题,你介意接受我的回答吗?谢谢,这正是我所做的,但现在回答我自己的问题还为时过早!