2011-11-12 191 views
0

我覺得像我以前10倍的解決了這個問題,但我永遠記得究竟是如何做到這一點,因爲有人決定在XAML完整的火箭科學的Pack URI ..WPF資源URI

我有一個圖像被標記爲資源。我有一個類庫中的xaml UserControl(一個dll),需要在標記中引用此圖像。我有兩個dll中的UserControl和圖像 - 一個Silverlight版本和一個WPF版本。

圖像與兩個版本中的UserControl位於同一目錄中。它被標記爲「資源」

我有一個Silverlight應用程序引用Silverlight DLL和引用WPF DLL的WPF應用程序。

我怎樣才能讓我的XAML參考與裝配局部相對URI的形象,同時要注意以下幾點:

  1. 我不知道程序集的名稱,因爲SL和WPF組件有不同的名稱。
  2. 的Silverlight和WPF的DLL具有相對於(用戶控件和圖像的SL版本是一個在SL項目命名爲「鏈接」目錄下的鏈接文件組件的根不同的路徑。

我使用

./MyImage.png 
MyImage.png 
/MyImage.png (which I know shouldn't work) 

回答

0

只是「MyImage.png」應該,如果它和控制是項目的根文件夾的工作已經試過如果兩者都在控制 - 你需要「控制/ MyImage.png」的路徑ISN。相對於控制位置 - 它是相對於項目根文件夾。

+0

那麼我怎樣才能使它相對於控制路徑呢?我可以嗎? – Jeff

+0

我認爲一般的做法是將所有圖像文件轉儲到一個文件夾 - 並將其控制到另一個文件夾。 如果您確實需要使用相對於您的控件的路徑 - 您必須執行一些操作,例如定義另一個附加的依賴項屬性,該屬性會將控制相對路徑轉換爲項目相對路徑,但這可能會更復雜,比簡單地使用實際路徑容易出錯。 –

+0

那麼當我有兩個項目,一個WPF和一個SL,其中相對於項目路徑的路徑是WPF項目的「Controls」和SL的「Linked \ Controls」,它將如何工作? – Jeff