我的應用程序由App.cs/App.xaml和一些其他文件組成。一切都編譯成一個EXE文件。不過,我想要一個第二個應用程序,它應該引用第一個應用程序。在這個應用程序是從App派生的類。但是當我調用Run()函數時,第一個應用程序的XAML代碼中出現了一個非常奇怪的錯誤,表示某些圖像文件無法加載。C#WPF應用程序類
我有一個類似的架構,當我使用Windows窗體,它工作正常。
我的應用程序由App.cs/App.xaml和一些其他文件組成。一切都編譯成一個EXE文件。不過,我想要一個第二個應用程序,它應該引用第一個應用程序。在這個應用程序是從App派生的類。但是當我調用Run()函數時,第一個應用程序的XAML代碼中出現了一個非常奇怪的錯誤,表示某些圖像文件無法加載。C#WPF應用程序類
我有一個類似的架構,當我使用Windows窗體,它工作正常。
不幸的是,每個AppDomain只能有一個App。
問題是圖像位於第一個應用程序的可執行文件中。當創建第二個應用程序時,圖像的相對路徑會中斷。你可以告訴WPF其裝配它們位於在解決這個問題:
<Image Source="/BaseApplication;component/resources/close.png" />
MSDN對包的URI在WPF的好文章,說明這一點更深入。
好吧,我想我看到的問題,但我不知道如何解決它 我目前使用此代碼: <的BitmapSource X:鍵=「imgClose」>包://應用:,,,/Resources/close.png BitmapSource> – hans 2010-03-13 16:28:27
只需更改它以打包:// application:,,,/YourBaseExecutable; /component/Resources/close.png。包://應用程序:,,,可以省略,因爲xaml解析器可以計算出來。 – 2010-03-15 13:42:41
謝謝您的輸入。我現在修復了這個問題:
<BitmapSource x:Key="imgClose">pack://application:,,,/AssemblyName;component/Resources/close.png</BitmapSource>
您必須將當前Assemly(AssemblyName)的名稱放在URI中。
你會得到什麼奇怪的錯誤?這真的有幫助 – TimothyP 2010-03-13 08:40:33
如果您可以提供更多有關錯誤的信息,它將有助於回答 – 2010-03-13 09:43:14
第二個應用程序是否需要是獨立應用程序?您可以通過在原始應用程序中使用新窗口來完成相同的任務嗎? – 2010-03-13 14:17:48