2010-03-13 75 views
0

我的應用程序由App.cs/App.xaml和一些其他文件組成。一切都編譯成一個EXE文件。不過,我想要一個第二個應用程序,它應該引用第一個應用程序。在這個應用程序是從App派生的類。但是當我調用Run()函數時,第一個應用程序的XAML代碼中出現了一個非常奇怪的錯誤,表示某些圖像文件無法加載。C#WPF應用程序類

我有一個類似的架構,當我使用Windows窗體,它工作正常。

+3

你會得到什麼奇怪的錯誤?這真的有幫助 – TimothyP 2010-03-13 08:40:33

+0

如果您可以提供更多有關錯誤的信息,它將有助於回答 – 2010-03-13 09:43:14

+0

第二個應用程序是否需要是獨立應用程序?您可以通過在原始應用程序中使用新窗口來完成相同的任務嗎? – 2010-03-13 14:17:48

回答

1

不幸的是,每個AppDomain只能有一個App。

1

問題是圖像位於第一個應用程序的可執行文件中。當創建第二個應用程序時,圖像的相對路徑會中斷。你可以告訴WPF其裝配它們位於在解決這個問題:

<Image Source="/BaseApplication;component/resources/close.png" /> 

MSDN對包的URI在WPF的好文章,說明這一點更深入。

+0

好吧,我想我看到的問題,但我不知道如何解決它 我目前使用此代碼: <的BitmapSource X:鍵=「imgClose」>包://應用:,,,/Resources/close.png hans 2010-03-13 16:28:27

+0

只需更改它以打包:// application:,,,/YourBaseExecutable; /component/Resources/close.png。包://應用程序:,,,可以省略,因爲xaml解析器可以計算出來。 – 2010-03-15 13:42:41

0

謝謝您的輸入。我現在修復了這個問題:

<BitmapSource x:Key="imgClose">pack://application:,,,/AssemblyName;component/Resources/close.png</BitmapSource> 

您必須將當前Assemly(AssemblyName)的名稱放在URI中。