wpf窗口在尝试显示时抛出异常

问题描述:

我创建了一个WPF应用程序,它可以在多台计算机上完美运行。 有一台计算机不断抛出“未设置对象实例的对象引用”。例外。 我不能在该计算机上安装Visual Studio,但我发现,导致问题的行:wpf窗口在尝试显示时抛出异常

var m_GCSWindow = new GCSWindow(); 
m_GCSWindow.Show(); 

一切都完美地运行,直到Show()

我想不通这一个,因为:

  1. 它适用于所有其他计算机。
  2. 它是MVVM,没有代码。

可能是什么问题?

编辑:
我终于可以有问题的计算机上安装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

看看GCSWindow的构造函数,我觉得问题在于它 – Narek 2014-11-05 14:58:26

+0

也许.NET框架版本在引起问题的PC上是不同的,但这只不过是一种猜谜游戏。HTH – XAMlMAX 2014-11-05 16:34:38

+0

@Narek构造函数是空的,正如我所说的 - 没有代码隐藏。 – Nataly87 2014-11-06 06:39:57

也许m_GCSWindow为空,也许你可以把一个空检查。

GCSWindow驻留在DLL中吗?也许DLL丢失?也许它的一个缺点是缺失。

您也可以尝试在该呼叫周围拨打

我以前有过这个问题。这个错误或许可以在转换器中找到

尝试调试器

确保它被称为 确保它得到你想要转换 确保值转换 时,它不会崩溃确保你的价值,你想

等等等等

而且 - 你能张贴ImageConverter的代码?

+0

原来它不是转换器。如果你仍然想在这里的代码是:[pastebin.com/7jG8JBD0](http://pastebin.com/7jG8JBD0) – Nataly87 2014-11-06 08:47:58