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(); } } }