WPF窗口关闭事件用法

我有一个Window类(例如public partial class Foo : Window ),当我创建窗口时,我注册了Closed事件。

 foo = new Foo(); foo.Closed += FooClosed; public void FooClosed(object sender, System.EventArgs e) { } 

当有人按下foo窗口内的按钮时,我会调用this.Close()但似乎没有调用我的FooClosed

我错误地报名参加活动了吗?

更新

顺便说一下,我想要完成的就是知道 foo何时关闭,所以我可以将引用设置为null 。 有没有更好的方法来实现这一目标?

几天前回答了问题检查WPF关闭时执行代码

您可能会对代码进行一些处理,因为这对我来说很合适。

MainWindow.xaml.cs

 namespace WpfApplication1 { public partial class MainWindow : Window { private Foo foo; public MainWindow() { InitializeComponent(); foo = new Foo(); foo.Closed += FooClosed; foo.Show(); } public void FooClosed(object sender, System.EventArgs e) { //This gets fired off foo = null; } } } 

Foo.xaml

      

Foo.xaml.cs

 namespace WpfApplication1 { ///  /// Interaction logic for Foo.xaml ///  public partial class Foo : Window { public Foo() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { this.Close(); } } }