你當然可以,但有幾個問題。
我的WPF控件在初始顯示時沒有畫圖,所以我在設置Child時通過調整寬度來解決它。見http://vstocontrib.codeplex.com/SourceControl/changeset/view/50a83624e34d#src%2fVSTOContrib.Core%2fWpf%2fWpfPanelHost.cs
下一步是要構建MVVM風格的應用程序,解決這個問題的主要問題是圍繞Windows /文件/自定義任務窗格的VSTO模型都不同,一個是基於打開的工作簿(上下文),一個是窗口(視圖)和自定義任務窗格也是基於窗口(視圖)。 MVVM樣式的應用程序是圍繞當前上下文或當前打開的工作簿構建的,我一直在研究VSTO contrib以解決此問題,它甚至在爲RibbonXML功能區聲明RibbonForm時會爲您提供類似綁定的MVVM支持。 抓住它在http://vstocontrib.codeplex.com請讓我知道它是否確實可以幫助你。
最後彈出窗口,沒有任何東西阻止你,但你會發現在Office 2007中,當你試圖第二次打開窗口時,Office可能會崩潰。下面的代碼將使您的WPF窗口體驗更平滑。
if (System.Windows.Application.Current == null)
new Application { ShutdownMode = ShutdownMode.OnExplicitShutdown };
else
System.Windows.Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;
基本上當你顯示的第一個窗口,一切都很好,但WPF將旋轉了一個應用程序,默認情況下退出時關閉最後一個窗口。所以,當你的窗戶關閉,然後你嘗試再次打開它,WPF將炸燬:P
我看到你的Codeplex項目,但我不知道如何使用它!我只想構建一個可以託管到VSTO面板的MVVM WPF。你能告訴我,我可以做到這一點嗎?謝謝你! – trouble 2011-05-23 02:27:37
如果您下載源代碼,有幾個示例項目可用。 你沒有提到你的目標是什麼辦公室產品,但有一個展望和一個文字示例項目,這將使你開始。 – 2011-05-26 03:35:27
看看http://vstocontrib.codeplex.com/SourceControl/changeset/view/50a83624e34d#src%2fDemoProjects%2fTwitterFeedDemo%2fTwitterFeedCore%2fTwitterFeed%2fContactFeed.cs – 2011-05-26 03:38:43