usercontrolのあるウィンドウが閉じられる場合は、usercontrolのメソッドを呼び出す必要があります。つまり、usercontrolが破棄されたときだけです。それ、どうやったら出来るの?
質問する
4638 次
3 に答える
3
ガベージコレクターがいつ収集するかを知りたい場合は、次のようにUserControl
使用します。
~UserControl1()
{
//...
}
UserControl
が親からアンロードされるタイミングを知りたい場合はUnloaded
、userControlでイベントを使用してください
注:とは異なり、Window
をUserControl
閉じることはできません。
于 2012-10-26T11:41:56.860 に答える
0
contolsにはClosing/Closedイベントがないため、Disposeをオーバーライドするほど単純ではありません。状況によっては、Disposeが呼び出されない場合があります。
コントロールのWndProcをオーバーライドして、WM_CLOSEイベントをキャッチすることができます。
于 2012-10-26T11:48:14.757 に答える
-1
他の人のための将来の参照のために。
メインウィンドウによってロードされたユーザーコントロールを次のように破棄しました。
<UserControl x:Class="MyApp.Class" ... Unloaded="UserControl_Unloaded"></UserControl>
private void UserControl_Unloaded(object sender, RoutedEventArgs e)
{
((MyVM)this.DataContext).Dispose();
}
Unloaded
どのビューでも利用できるイベントです。
于 2015-08-27T12:44:39.257 に答える