2009-11-01 4 views
2

I posted a comment to Microsoft que les boîtes de dialogue dans WPF ne sont pas VisualStyle activé. Joe Castro a posté une solution de contournement là-bas que je ne comprends pas vraiment comment atteindre, quelqu'un peut-il m'aider?Aide: Modifier le manifeste d'application WPF?

Voici la réponse qu'il est:

Pour des raisons d'applications compat applications ne par l'utilisation par défaut v6 du système de contrôle commun (disponible depuis XP). Cela ne s'applique pas vraiment à WPF, mais vous ne le voyez que dans quelques situations lors de l'utilisation des contrôles natifs, de sorte qu'il n'est pas aussi répandu que WinForms où leurs API ne font qu'encapsuler les contrôles standard. Pour résoudre ce problème dans WPF, vous devez activer explicitement v6 comctl32 en le spécifiant dans un manifeste dans votre fichier .exe. Cela doit être fait sur l'exe, donc WPF ne peut pas le faire dans le cadre de leurs DLL. EnableVisualStyles fait cela au moment de l'exécution, mais cette façon est généralement meilleure.

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> 

Répondre

4
1

En Visual Basic, les propriétés du projet sont structurées un peu différemment. Si vous trouvez cette question et que vous êtes dans VB dans VS2010, suivez ces instructions pour générer un fichier app.manifest.

  1. Pour créer un fichier app.manifest, allez à votre projet, et sélectionnez Propriétés. Puis cliquez sur Paramètres de la fenêtre d'affichage, sous l'onglet Application.
    • ViewWindowSettings
  2. Cela devrait générer et ouvrir le fichier app.manifest, qui est enregistré dans votre Mon dossier de projet
    • app.manifest

Autres lectures:WPF MessageBox window style

Questions connexes