【发布时间】:2011-10-14 12:52:47
【问题描述】:
我的 WPF、Framework 4.0 Profile 和 Intel HD 板载显卡有问题。创建新窗口时,InitializeComponent() 方法中发生 NullReference 异常。
public override void Execute(object parameter)
{
InfoPage infoPage = new InfoPage(Owner);
infoPage.ShowDialog();
}
发生异常是因为 infoPage 变量为 NULL。当我尝试初始化其他窗口时,行为是相同的。
当用户点击“InfoPage”按钮时调用 Execute 方法。包含执行方法的类继承了 ICommand 基类。
internal class InfoPageCommand : UICommand
{
#region Public Methods
public override void Execute(object parameter)
{
InfoPage infoPage = new InfoPage(Owner);
infoPage.ShowDialog();
}
#endregion
}
【问题讨论】:
-
您何时/何地调用您的 Execute 函数?
-
当用户点击“InfoPage”按钮时 - MVVM 模式。
-
是否有任何内部异常消息?如果没有,如果您转到 Debug > Exceptions 并打开 Throw for CLR Exceptions,它是否会在您点击 InitializeComponent 中的 NullReference 之前的某个时间点中断?
-
不可能出现内部异常。奇怪的是应用程序仅在某些情况下崩溃。该错误只能在整个公司的几台机器上重现。
标签: wpf