Ассоциировать значок с окном в codebehind - PullRequest
0 голосов
/ 08 июля 2011

Я пытаюсь назначить иконку Window.Icon в codebehind.Я знаю, что это легко сделать в 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 ]

1 голос
/ 09 июля 2011

Это работает для меня, установив значок с помощью 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"));
1 голос
/ 08 июля 2011

Отметьте свойства вашего файла значка, чтобы иметь Build Action = Resource.

...