我想关闭子窗口时更新我的主窗口。我正在更新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();
}
答案 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
}