例如,如果我有一个UserControl或一个Page在其代码隐藏文件中创建自己的事件,那么当该Page或控件卸载时,是否必须确保它的事件已取消订阅?我的意思是没有外部订阅。每个用户是自包含的,所以我认为,一旦控制卸载时不会有问题:我是否必须在所有情况下退订所有事件?
public sealed partial class MyPage : Page
{
public MyPage()
{
this.Unloaded += Page_Unloaded;
this.Tapped += Page_Tapped;
}
private void Page_Tapped(object sender, TappedRoutedEventArgs e)
{
// Do some work here.
}
private void Page_Unloaded(object sender, RoutedEventArgs e)
{
// Is the following appropriate and REQUIRED?
this.Unloaded -= Page_Unloaded;
this.Tapped -= Page_Tapped;
}
}