我有一個WPF項目使用大量的資源字典和實體框架連接到本地數據庫。當我在單獨的解決方案中測試項目時,一切工作正常。從Excel中運行WPF應用程序VSTO和Win表格
現在,我試圖將此WPF項目連接到現有的Excel VSTO項目,並通過單擊Excel Ribbon上的按鈕來運行WPF應用程序窗口。 我已經修改App.xaml.cs如下:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
MainWindow view = new MainWindow();
view.Show();
}
}
另外,我已經移除的App.xaml中的StartupUri = 「MainWindow.xaml」。在Excel功能區我有應該運行的應用程序的按鈕:
private void button1_Click(object sender, RibbonControlEventArgs e)
{
App application = new App();
application.Run();
}
現在我有兩個不同的問題:
首先,當我點擊主窗口中的不同部分的按鈕,我得到的例外.xaml像這樣:「在'System.Windows.Baml2006.TypeConverterMarkupExtension'上提供值拋出異常」。很可能缺少與資源的連接。
<ResourceDictionary>
<vm:ViewModelLocator x:Key="Locator"/>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionaries\DataGridDictionary.xaml" />
<ResourceDictionary Source="Dictionaries\DarkTheme.xaml" />
<ResourceDictionary Source="Dictionaries\WindowStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
我試圖用空的WPF窗口重複相同的過程,它的工作原理,但現在我運行到第二個問題。當我再次點擊按鈕時,我得到異常; 「不能在同一AppDomain中創建多個System.Windows.Application實例。」
我認爲在一個大型項目中,有幾個模塊是正常的,每個模塊都作爲WPF窗口和這些WPF窗口從主應用程序 - Windows窗體或Office功能區。
您能否建議如何解決上述兩個問題? 謝謝!
編輯:我不想使用任務窗格和託管WPF控件。我更喜歡將WPF應用程序作爲獨立於Excel的獨立窗口運行。
你見過[this](https://stackoverflow.com/questions/13419089/launching-wpf-windows-from-an-office-add-in)嗎? –
感謝您的評論。它部分工作,但它不能解決這兩個問題。 – v31