2011-07-08 21 views
0

我想在代碼隱藏中將圖標分配給Window.Icon。我知道它很容易在xaml中完成,但我將相同的自定義窗口模板用於顯然具有不同圖標的不同應用程序。我將.ico文件添加到了我想分配圖標的相同項目中。我試過這個:在代碼隱藏中將圖標關聯到窗口

  IconBitmapDecoder ibd = new IconBitmapDecoder(new Uri(@"pack://application:,,,/TEST_MLT.ico", UriKind.Absolute), 
                 BitmapCreateOptions.None, BitmapCacheOption.Default); 
     m_windows[p_WindowID].Window.Icon = ibd.Frames[0]; 

它扔了找不到資源TEST_MLT.ico異常。請點一下如何去做。 謝謝。

回答

1

將您的圖標文件的屬性標記爲Build Action = Resource

+0

已經過驗證。它設置爲Resource – user296623

+0

驗證您的包URI,然後它是程序集「pack:// application:,,,/YourAssemblyName/TEST_MLT.ico」的一部分 – anivas

1

它適用於我通過使用System.Windows.Media.Imaging.BitmapImage設置圖標。如果您的圖標位於根目錄下,此解決方案將起作用。如果你把它埋在另一個文件夾中,你需要把它添加到Uri中。

例如,我將圖標保存在Images/32x32/MyIcon.png中,因此我需要將Uri更新爲該路徑。

this.Icon = new System.Windows.Media.Imaging.BitmapImage(
      new Uri(@"pack://application:,,,/TEST_MLT.ico"));