更新对话框上的父窗口关闭WPF

时间:2016-01-26 15:21:24

标签: c# wpf

我想关闭子窗口时更新我的​​主窗口。我正在更新listview记录,然后在ok按钮上关闭我的子窗口,我试图在没有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();
    }   

2 个答案:

答案 0 :(得分:3)

您可以使用Closed即将关闭的Window事件。这是一个示例,您可以在子窗口的声明中在父窗口中实现:

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

答案 1 :(得分:1)

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

Window child_window;
child_window.Closed += child_Closed;

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

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
}