2010-03-25 35 views
5

我正在開發Outlook 2003加載項。到目前爲止,我只用winforms來顯示一個表單,但是今天我已經爲更復雜的東西添加了一個WPF窗口。對於WPF窗口,在Outlook關閉時拋出COM異常。Outlook 2003外接程序 - 創建WPF窗口後在應用程序關閉時獲取COM異常

有人知道爲什麼嗎?我需要爲單個公寓狀態中的WPF窗口啓動一個單獨的線程。

這裏是個例外:

System.Runtime.InteropServices.InvalidComObjectException was unhandled 
    Message="COM object that has been separated from its underlying RCW cannot be used." 
    Source="PresentationCore" 
    StackTrace: 
     at System.Windows.Input.TextServicesContext.StopTransitoryExtension() 
     at System.Windows.Input.TextServicesContext.Uninitialize(Boolean appDomainShutdown) 
     at System.Windows.Input.TextServicesContext.TextServicesContextShutDownListener.OnShutDown(Object target) 
     at MS.Internal.ShutDownListener.HandleShutDown(Object sender, EventArgs e) 
    InnerException: 

最好的問候,
奧利弗Hanappi

回答

2

你需要在關閉窗口後,在同一個線程來調用WPF窗口調度關機。

window.Dispatcher.InvokeShutdown(); 

類似的問題被報告在Microsoft Connect

+0

NICE。這對我很好。更新我給出的另一個答案(關於在新線程中啓動WPF窗口)以包含此內容。 – BrainSlugs83 2013-12-17 19:59:30

相關問題