Помощь:Изменить манифест приложения WPF?
-
11-09-2019 - |
Вопрос
Я отправил комментарий в Microsoft что диалоговые окна в WPF не поддерживают VisualStyle.
Джо Кастро опубликовал там обходной путь, которого я не совсем понимаю, как его достичь. Может ли кто-нибудь помочь?
Вот его ответ:
По причинам совместимости приложений приложения по умолчанию не используют v6 общих элементов управления системы (доступно начиная с XP).На самом деле это не относится к WPF, но вы также видите это только в некоторых ситуациях при использовании собственных элементов управления, поэтому это не так распространено, как WinForms, где их API просто оборачивают стандартные элементы управления.
Чтобы исправить это в WPF, вам необходимо явно подписаться на v6 comctl32, указав его в манифесте вашего exe.Это необходимо сделать в exe-файле, поэтому WPF не может сделать это как часть своих DLL.EnableVisualStyles делает это во время выполнения, но этот способ, как правило, лучше.
Например, что-то вроде:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<description>MyExe.exe</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"/>
</dependentAssembly>
</dependency>
</assembly>
Решение
Я писал об этом некоторое время назад в своем блоге:
Эти сообщения описывают проблему и решение: http://www.nbdtech.com/blog/archive/2008/05/28/Why-am-I-Getting-Old-Style-File-Dialogs-and-Message.aspx , http://www.nbdtech.com/blog/archive/2008/06/08/Will-Setting-a-Manifest-Solve-My-WPF-Message-Box-Style.aspx
Этот пост - то, что вы ищете: http://www.nbdtech.com/blog/archive/2008/06/16/The-Application-Manifest-Needed-for-XP-and-Vista-Style-File.aspx
Здесь рассказывается о том, как получить стиль Vista для диалогов открытия и сохранения файлов: http://www.nbdtech.com/blog/archive/2008/07/15/Vista-style-open-and-save-dialogs-with-WPF-without-using.aspx
Другие советы
В Visual Basic свойства проекта структурированы немного иначе.Если вы нашли этот вопрос и находитесь в VB в VS2010, следуйте этим инструкциям, чтобы создать приложение.манифест файл.
- Чтобы создать приложение.манифест файл, перейдите в свой проект и выберите свойства.Затем нажмите Просмотр настроек окна, под Приложение вкладка.
- Это должно создать и открыть приложение.манифест файл, который сохраняется в вашем Моя папка проекта
Дальнейшее чтение: Стиль окна WPF MessageBox