我创建了一个WPF应用程序,它在几台计算机上运行完美。 有一台计算机不断将一个" Object引用设置为一个对象的实例。"例外。 我无法在该计算机上安装Visual Studio,但我找到了导致问题的行:
var m_GCSWindow = new GCSWindow();
m_GCSWindow.Show();
一切都运行良好,直到Show()
。
我无法理解这一点,因为:
可能是什么问题?
修改
我终于能够在有问题的计算机上安装visual studio,并发现如果我从XAML中删除一行,一切都加载好了。
<Image Source="{Binding MapView.MapImage,Converter={StaticResource ImageConverter}}"
Stretch="None" MouseLeftButtonDown="Image_MouseLeftButtonDown"
ContextMenu="{StaticResource MapRightClick}" />
所以我认为问题可能在转换器中,并在其中加入了一个断点,但异常发生在之前。
编辑2:
经过一番调查后,我发现MouseLeftButtonDown="Image_MouseLeftButtonDown"
是导致问题的原因。
当我删除该行时一切正常。
private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (ImageClickCommand != null) ImageClickCommand.Execute(e.GetPosition(sender as IInputElement));
}
这是代码,我在其中设置了一个断点,但我仍然没有到达那里 我甚至尝试将事件移动到另一个控件,但我仍然有同样的问题。
答案 0 :(得分:0)
也许m_GCSWindow为null,也许你可以进行空检查。
GCSWindow是否驻留在DLL中?也许DLL丢失了?也许其中一个缺点就是缺失。
你也可以尝试一下这个电话
答案 1 :(得分:0)
我以前遇到过这个问题。该错误可能在转换器中找到
尝试调试转换器
确保它被调用 确保它获得您希望它转换的值 转换时确保它不会崩溃 确保获得所需的价值
Etc等等
另外 - 你可以发布ImageConverter的代码吗?