C# WPF 窗口.仅关闭一次

  • 本文关键字:一次 WPF 窗口 c# wpf
  • 更新时间 :
  • 英文 :


在我的WPF项目中,我有一个事件subWindow.Closed,它基本上在关闭时更新我的主窗口。此事件仅适用于原始subWindow因此即使我写this.subWindow = new SubWindow();如果我再次打开和关闭子窗口,它也不会再次触发。简单的答案似乎是使用subWindow.Closing取消关闭并隐藏它,但如果可以的话,我也想使用subWindow.ShowDialog使主窗口无法使用,这与隐藏子窗口不起作用。

现在我的代码看起来像这样:

public SubWindow subWindow = new SubWindow();
public MainWindow()
{
subWindow.Closed += (s, EventArgs) =>
{
//main window update code
subWindow = new SubWindow(); //this lets me ShowDialog but wont get caught by the event handler
}
}
public void EditButton_Click(object sender, RoutedEventArgs e)
{
this.subWindow.ShowDialog();
//setting subWindow here would let me always ShowDialog but the event only triggers once
}

MainWindow的构造函数中删除所有内容,并将所有内容放入Button.Click事件处理程序:

public void EditButton_Click(object sender, RoutedEventArgs e)
{
subWindow = new SubWindow();
subWindow.Closed += (s, EventArgs) =>
{
//main window update code
};
this.subWindow.ShowDialog();
}

最新更新