Aide: le changement manifeste d'application WPF?
-
11-09-2019 - |
Question
J'ai posté un commentaire à Microsoft que la boîte de dialogue Les boîtes à WPF ne sont pas VisualStyle activés.
Joe Castro a posté une solution là-bas que je ne comprends pas vraiment comment atteindre, quelqu'un peut-il aider?
Voici la réponse qu'il est:
Pour des raisons compat app applications ne par l'utilisation par défaut v6 du système de contrôle commun (disponible depuis XP). Cela ne vaut pas vraiment WPF, mais vous voyez aussi que dans quelques situations où l'utilisation des contrôles natifs donc il est pas aussi répandue que WinForms où leurs API achevons juste les commandes standard.
Pour résoudre ce problème dans WPF vous devez opt-in explicitement v6 comctl32 en spécifiant dans un manifeste dans votre exe. Cela doit être fait sur l'exe, donc WPF ne peut pas le faire dans le cadre de leurs DLLs. EnableVisualStyles fait cela à l'exécution de cette façon, mais est généralement mieux.
par exemple, quelque chose comme:.
<?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>
La solution
J'ai écrit à ce sujet sur mon blog il y a quelque temps:
Ces messages décrivent le problème et la solution: http://www.nbdtech.com/blog/archive/2008/05/28/Why-am-I-Getting-Old-Style-File- Dialogs-et Message.aspx , http://www.nbdtech.com/blog/archive/2008/06/08/Will-Setting-a-Manifest-Solve-My-WPF- message-Box-Style.aspx
Ce poste est ce que vous cherchez: http://www.nbdtech.com/blog/archive/2008/06/16/The-Application-Manifest-Needed-for-XP-and- Vista-style-File.aspx
Et cela parle de la façon d'obtenir le style Vista pour le fichier ouvrir et enregistrer des boîtes de dialogue: http://www.nbdtech.com/blog/archive/2008/07/15/Vista-style-open- et de sauvegarde des dialogues avec WPF-sans-using.aspx
Autres conseils
Dans Visual Basic, les propriétés du projet sont structurés un peu différemment. Si vous trouvez cette question et que vous êtes en VB dans VS2010, suivez ces instructions pour générer un fichier app.manifest .
- Pour créer un fichier app.manifest , allez à votre projet, et sélectionnez Propriétés. Ensuite, cliquez sur Afficher les paramètres fenêtre , sous l'application onglet .
- Cela devrait générer et ouvrir le fichier app.manifest , qui est enregistré dans votre Mon dossier de projet
Lectures complémentaires: WPF style de fenêtre MessageBox