2 回答

TA貢獻(xiàn)1829條經(jīng)驗 獲得超6個贊
在遇到與您相同的問題并進(jìn)行一些閱讀后,我發(fā)現(xiàn)了解決方案 - 包URI。
我在代碼中做了以下事情:
Image finalImage = new Image();finalImage.Width = 80;...BitmapImage logo = new BitmapImage();logo.BeginInit();logo.UriSource = new Uri("pack: //application:,,,/AssemblyName;component/Resources/logo.png");logo.EndInit();...finalImage.Source = logo;
或更短,使用另一個BitmapImage構(gòu)造函數(shù):
finalImage.Source = new BitmapImage( new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png"));
URI分為幾部分:
權(quán)威:
application:///
路徑:編譯為引用的程序集的資源文件的名稱。路徑必須符合以下格式:
AssemblyShortName[;Version][;PublicKey];component/Path
AssemblyShortName:引用的程序集的簡稱。
; Version [可選]:包含資源文件的引用程序集的版本。當(dāng)加載兩個或多個具有相同短名稱的引用程序集時,將使用此方法。
; PublicKey [可選]:用于對引用的程序集進(jìn)行簽名的公鑰。當(dāng)加載兩個或多個具有相同短名稱的引用程序集時,將使用此方法。
; component:指定從本地程序集引用所引用的程序集。
/ Path:相對于引用程序集的項目文件夾的根目錄的資源文件的名稱,包括其路徑。
之后的三個斜線application:
必須用逗號替換:
注意:包URI的權(quán)限組件是指向包的嵌入式URI,必須符合RFC 2396.此外,“/”字符必須替換為“,”字符和保留字符,例如“%”和“?” 必須逃脫。有關(guān)詳細(xì)信息,請參閱OPC。
當(dāng)然,請確保將圖像上的構(gòu)建操作設(shè)置為Resource
。

TA貢獻(xiàn)1824條經(jīng)驗 獲得超5個贊
很容易:
要動態(tài)設(shè)置菜單項的圖像,只需執(zhí)行以下操作:
MyMenuItem.ImageSource = new BitmapImage(new Uri("Resource/icon.ico",UriKind.Relative));
...而“icon.ico”可以位于任何地方(目前它位于“資源”目錄中),并且必須作為資源鏈接...
- 2 回答
- 0 關(guān)注
- 542 瀏覽
添加回答
舉報