Как я могу использовать .ico как IconSource в Prism? - PullRequest
0 голосов
/ 09 ноября 2011

Я назначаю путь к привязке свойства IconSource в ViewModel, которая ссылается на файл .ico, однако это исключение выдается при вызове Prism RaisePropertyChanged():

Аргумент 'picture' должен быть изображением, которое можно использовать как Icon.

Из того, что я понимаю, .ico - это тип файла изображения. Также в конструкторе ViewModel я назначаю другой файл .ico по умолчанию, и он прекрасно загружается, только во втором вызове я получаю это исключение.

1 Ответ

1 голос
/ 09 ноября 2011

Вы проверили размер изображения иконки? Он также должен поддерживать отображение с высоким DPI и должен быть в формате PNG.

В этом кратком учебнике , поддерживаемые размеры и цвета:

256x256 - RGB / A 64x64 - RGB / A 48x48 - RGB / A 32x32 - RGB / A 24x24 - RGB / A 16x16 - RGB / A 256x256 - 256c 64x64 - 256c 48x48 - 256c 32x32 - 256c 24x24 - 256c 16x16 - 256c 256x256 - 16c 64x64 - 16c 48x48 - 16c 32x32 - 16c 24x24 - 16c 16x16 - 16c

Принимая во внимание, что 256c означает 256 цветов, 16c означает 16 цветов, RGB / A означает 24-битные цвета с 8-битным альфа-каналом.

Еще одно примечание в вышеприведенном уроке:

PNG-сжатие встроено в файл ICO для изображений 256x256. только. PNG сжатые значки Windows Vista ™ не могут быть прочитаны и отредактированы с Windows® XP-совместимым редактором иконок, и вы не можете открыть их с редактором изображений PNG.

Но, к сожалению, значки WPF больше подходят для Vista и выше, включая Windows 7. Я предлагаю вам следовать общим рекомендациям для значков для Windows Vista и Windows 7, а не возвращаться назад с Windows XP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...