将Icon关联到后面的代码窗口

时间:2011-07-08 14:11:08

标签: wpf icons window code-behind

我正在尝试在代码隐藏中为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异常。请详细说明如何做到这一点。 感谢。

2 个答案:

答案 0 :(得分:1)

将您的图标文件的属性标记为Build Action = Resource

答案 1 :(得分: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"));