Справка: Изменить манифест приложения WPF? - PullRequest
2 голосов
/ 01 ноября 2009

Я разместил в 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>

Ответы [ 2 ]

4 голосов
/ 01 ноября 2009

Я написал об этом в своем блоге некоторое время назад:

Эти посты описывают проблему и решение: 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

1 голос
/ 04 октября 2013

В Visual Basic свойства проекта структурированы немного по-другому. Если вы нашли этот вопрос и находитесь на VB в VS2010, следуйте этим инструкциям для создания файла app.manifest .

  1. Чтобы создать файл app.manifest , перейдите в свой проект и выберите свойства. Затем нажмите Просмотр параметров окна на вкладке Приложение .
    • ViewWindowSettings
  2. Это должно сгенерировать и открыть файл app.manifest , который сохраняется в папке My Project
    • app.manifest

Дополнительная информация: Стиль окна WPF MessageBox

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