我有一个Window班级(例如public partial class Foo : Window),当我创建窗口时,我会注册这个Closed事件.
foo = new Foo();
foo.Closed += FooClosed;
public void FooClosed(object sender, System.EventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
当有人按下foo窗口内的按钮时,我会调用this.Close()但FooClosed似乎没有调用.
我错误地报名参加活动了吗?
更新
顺便说一句,我想要完成的就是知道何时foo关闭,所以我可以将参考设置回来null.有没有更好的方法来实现这一目标?
Dan*_*n P 10
几天前回答了问题检查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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
Foo.xaml
<Window x:Class="WpfApplication1.Foo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Foo" Height="300" Width="300">
<Grid>
<Button Click="Button_Click">Close</Button>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
Foo.xaml.cs
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for Foo.xaml
/// </summary>
public partial class Foo : Window
{
public Foo()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32415 次 |
| 最近记录: |