WPF窗口的ShowDialog时发生Win32Exception

时间:2014-04-17 22:23:04

标签: c# .net wpf visual-studio-2013

我的Excel AddIn是用C#,.NET 4.5.1编写的。安装插件后,Excel中会显示一个功能区选项卡(带有功能区按钮)。当我单击一个功能区按钮时,将弹出一个WPF窗口。 它工作正常一段时间。但是,在我多次单击功能区按钮并再次单击一个按钮后,没有任何显示。我检查了我的日志文件,看到Win32Exception。我不确定是什么导致这种情况以及如何解决这个问题。顺便说一句,我的插件曾经在我的电脑上正常工作,最近我升级到VS2013& .NET4.5.1。在过去,我使用的是VS2010 + .NET 4.0。我不确定它是否与此升级有关。

谢谢!

                XLFunctionModel = new MainViewModel(XLApp, UnityContainer);
                xlfuncWindow = new XLFuncWindow();

//http://blogs.microsoft.co.il/blogs/shair/archive/2009/01/16/iwin32window-owner-for-wpf-window.aspx
                var helper = new WindowInteropHelper(xlfuncWindow);
                helper.Owner = wndHandle.Handle;

                xlfuncWindow.DataContext = XLFunctionModel;
                bool? successNullable = xlfuncWindow.ShowDialog();


Name:Win32Exception
Message:Invalid window handle
Target:Void .ctor(Int32, Int32, Int32, Int32, Int32, Int32, Int32, System.String, IntPtr, MS.Win32.HwndWrapperHook[])
Stack:   at MS.Win32.HwndWrapper..ctor(Int32 classStyle, Int32 style, Int32 exStyle, Int32 x, Int32 y, Int32 width, Int32 height, String name, IntPtr parent, HwndWrapperHook[] hooks)
   at System.Windows.Interop.HwndSource.Initialize(HwndSourceParameters parameters)
   at System.Windows.Interop.HwndSource..ctor(HwndSourceParameters parameters)
   at System.Windows.Window.CreateSourceWindow(Boolean duringShow)
   at System.Windows.Window.ShowHelper(Object booleanBox)
   at System.Windows.Window.ShowDialog()

0 个答案:

没有答案