Подтвердить что ты не робот

Иконка WPF для всех окон приложений

Можно установить один значок так, чтобы он использовался в каждом окне текущего приложения. Так что я устанавливаю его один раз (не на каждое окно вручную).?

4b9b3361

Ответ 1

Хорошая ссылка на эту тему приведена здесь MSDN. Указывает, что у вас есть значок для приложения (значок рабочего стола) и по одному для каждого окна.

Окно WPF всегда отображает значок. Когда один из них не предоставляется установкой значка, WPF выбирает значок для отображения на основе следующих правил:

  • Используйте значок сборки, если это указано.

  • Если значок сборки не указан, используйте значок Microsoft Windows по умолчанию.

Ссылка на контент сообщества:

"Совет лити: если вы установите значок приложения и ожидаете увидеть его в окне - он не будет отображаться, если он запущен в отладке из VS. Запуск извне или без привязки (ctrl + f5) значок отображается так, как ожидалось."

Ответ 2

Установите значок в свойствах проекта на вкладке "Приложение" в разделе "Ресурсы". Этот значок будет значком по умолчанию для всех окон в приложении.

Ответ 3

В VS2010 откройте "Свойства" для основного исполняемого приложения и откройте вкладку "Приложение". Установите значок в разделе "Значок и манифест" в разделе "Ресурсы".

Чтобы увидеть значок во время отладки под VS2010, вам нужно открыть вкладку "Отладка" и снять флажок "Включить процесс хостинга Visual Studio", иначе вы увидите только значок по умолчанию для большинства окон.

Я предполагаю, что код загрузки значка путается процессом хостинга и ищет в "someapplication.vshost.exe" вместо "someapplication.exe" для значков.

Это похоже на исправление в VS2013.

Ответ 4

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

private void Page_Loaded_1(object sender, RoutedEventArgs e)
        {
            Uri iconUri = new Uri(@"C:\Apps\R&D\WPFNavigation\WPFNavigation\Images\airport.ico", UriKind.RelativeOrAbsolute);
            (this.Parent as Window).Icon = BitmapFrame.Create(iconUri);
        }

Ответ 5

Причина, по которой "Включить хостинг Visual Studio" делает значок неработоспособным, заключается в том, что он запускается с помощью vshost.exe, и поэтому манифест не читается должным образом. То же самое происходит, если в манифесте есть другие вещи, такие как regfree ocx controls и т.д., Которые требуют, чтобы манифест загружался.