2011-04-15 105 views
1

我有一个WPF应用程序调用winforms子窗体。该winform使用showDialog()调用WPF窗口。 WPF窗口包含我设置背景图像的边框。我的问题是这样的。如果正在加载的图像有问题,我会收到一个ArgumentException,告诉我图像的元数据头是无效的。即使我发现错误,WPF子窗口仍然会失去焦点,落在其他两个窗口之后,并且与它的任何交互都会将dialogResult设置为true,从而导致InvalidOperationException,因为它没有将窗口注册为由showDialog()调用。 。C#WPF在winform调用子窗体捕获异常

我可能在做一些明显错误的事情。但是,我应该如何处理这个异常,为什么WPF子窗口的行为如此呢?

编辑:当我设置bitmapImage的uri或流源时,似乎发生异常。然而,将它放到try块中并不会导致它在这里被捕获,它会在showDialog()调用中被捕获。

+0

我没弄明白我的问题,但我没有找到一个解决。我在这个问题中使用示例1:http://stackoverflow.com/questions/5682822/c-wpf-argumentexception-not-caught-when-using-bitmapimage-begininit – 2011-04-15 22:09:37

回答

-1

不是要解决这个问题,但开个玩笑:

一个WPF应用程序调用一个 的WinForms窗体。在WinForm调用使用的ShowDialog()

这是所有问题的根源一 WPF窗口:d

+0

是的,我承认这并不理想。但它很方便。 – 2011-04-15 19:47:05

+0

即使我只是从主窗口调用subWindow,绕过Winform,我仍然有同样的问题。 – 2011-04-15 19:53:11