我只是想确保下面的代码不会导致在这种情况下 ChildWindow Login 永远不会被 GC 收集。只是为了澄清示例,这来自一个被所有其他页面继承的 silverlight 页面,因此是 virtual void pageloaded 方法。
public class MyPage : Page
{
// Executes when the user navigates to this page.
protected override void OnNavigatedTo(NavigationEventArgs e)
{
_user = App.AuthenticatedUser;
if (!_user.IsValid)
{
Login loginWindow = new Login(_user);
loginWindow.Closed += new EventHandler(PageLoaded);
loginWindow.Show();
}
else
PageLoaded(this, e);
}
//to be overridden by the pages extending this page control
protected virtual void PageLoaded(object sender, EventArgs e) { }
谢谢你的帮助。