在对话框中更新父窗口 关闭 WPF

本文关键字:窗口 关闭 WPF 更新 对话框 | 更新日期: 2023-09-27 18:31:53

我想在关闭子窗口时更新我的主窗口。我正在更新列表视图记录,然后在确定按钮上我正在关闭我的子窗口,我正在尝试在没有 MVVM 技术的情况下更新我的父窗口

 private void btnDialogOk_Click(object sender, RoutedEventArgs e)
    {
       MainWindow mn = new MainWindow();
        mn.InitializeComponent();
        List<Scheme> items = new List<Scheme>();
        List<Scheme> objScheme = oSchemeBLL.getAllSchemeListBLL();
        mn = new MainWindow(objScheme);
        this.Close();
    }   

在对话框中更新父窗口 关闭 WPF

您可以使用

Closed事件,该事件在Window即将关闭时引发。下面是一个示例,您可以在父窗口中的子窗口的声明中实现:

Window TestWindow = new Window();
TestWindow.Closed += (s, eventarg) =>
{
    // Your method to update parent window
};

您可以尝试从parent window Closed child window事件

Window child_window;
child_window.Closed += child_Closed;

在该事件处理程序中,可以从子窗口获取视图模型,并访问数据。

private void child_Closed(object sender, EventArgs e)
{
   Window child;
   ViewModel vm;
   //Cast sender to windows type
   child = (Window)sender;
   //Cast window datacontext to viewmodel
   vm = (ViewModel)child.DataContext;
   //Access to properties or whatever you need
   vm.Foo
}