我使用WPF 4.0和MVVM光工具包,我有以下代码:
public partial class View1: Window
{
/// <summary>
/// Initializes a new instance of the FavoritesView class.
/// </summary>
public View1()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Messenger.Default.Register<NotificationMessage>(this,
(msg) =>
{
if (msg.Notification == "OpenDocument")
{
DocumentView view = new DocumentView();
view.Owner=this;
view.ShowDialog();
}
});
}
}
当我多次打开-关闭DocumentView窗口时,我得到异常“无法将Owner属性设置为已关闭的窗口”。为什么?有什么想法吗?
3条答案
按热度按时间wbgh16ku1#
您可以尝试从NotificationMessage注销以避免将来执行。
dzhpxtsq2#
你需要从窗口关闭事件的消息中取消注册。2这将确保在创建新示例时不会发生重复注册。
yks3o0rb3#
有时候,检查你是否在初始化你的新窗口时出现了代码中断