2016-12-04 59 views
1

我有這個WPF類庫帶有標記爲資源的多個(本地)圖像。它們位於名爲Resources的子文件夾中。爲了引用它們,我使用以下標記:在引用程序集名稱時引用WPF類庫中的資源圖像

Icon="/AssemblyName;component/Resources/Logo64x64.ico" 

而且在此程序集中一切正常。

我的問題是,我想在幾個不同名稱的程序集中使用該xaml文件。也就是說,AssemblyName可能會隨着構建而改變。有沒有辦法引用資源圖像而不依賴於AssemblyName?或者我可以使用動態引用標記中的程序集名稱的東西嗎?例如:

Icon="/%AssemblyName%;component/Resources/Logo64x64.ico" 

或者我必須每次更新AssemblyName嗎?在支持C#代碼中定義屬性然後使用綁定是一個好主意嗎?我一直在避免這一點,因爲它看起來像很多代碼來引用每個圖像。

據我所知,你不能在類庫中使用pack URI,對吧?任何幫助,將不勝感激。

謝謝!

+0

你的意思是你有一個包含名稱相同的圖像文件的資源,但這些資源的引用共享一個共同的XAML文件中的不同組件? – Clemens

+0

@Clemens,是的,即使圖像文件是相同的,並在組件之間共享。感謝您的評論,但我發現該怎麼做,而解決方案實際上非常簡單 - 答案更多。 –

回答

0

我不知道我是如何錯過這個,但事實證明,我完全可以避免使用AssemblyName,因爲資源是本地的,它們可以被相對引用。在我的情況下,XAML文件是在另一個子文件夾,以便將資源應該參考:

Icon="../Resources/Logo64x64.ico"