主窗口
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
int index = 0;
private void Button_Click(object sender, RoutedEventArgs e)
{
Window1 wind = new Window1(index);
wind.Show();
index++;
}
}
子窗口
public partial class Window1 : Window
{
int index;
public Window1(int index)
{
InitializeComponent();
this.index = index;
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
dispatcherTimer.Tick += new EventHandler(timeCycle);
dispatcherTimer.Start();
}
private void timeCycle(object sender, EventArgs e)
{
Console.WriteLine(index);
}
}
我发现在WPF中当我关闭子窗口的时候,这个Timer依旧在运行。但是在winform中是不会出现这种情况的。
请问这种情况在WPF中是正常现象??如果不是正常现象应该如何销毁这些对象哪??