2009-04-22 11 views
6

Quando si utilizzano gli elementi wpf della mia applicazione, tutti gli stili vengono applicati al sistema operativo, ma quando utilizzo un OpenDialog o un MessageBox, esegue il rendering del vecchio Windows 9X. Esiste un modo più semplice per eseguire una chiamata equivalente Application.EnableVisualStyles() per rendere le finestre di messaggio e le finestre di dialogo identiche al resto dell'applicazione?Come abilitare gli stili visivi in ​​WPF per le finestre di dialogo comuni?

risposta

18

È necessario aggiungere un manifesto alla vostra assemblea. Puoi farlo tramite Aggiungi nuovo elemento -> Generale -> File manifest di applicazione.

quindi aggiungere i seguenti da qualche parte all'interno del tag asmv1 nel file manifesto:

<dependency> 
    <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Windows.Common-Controls" version="6.0.0.0" type="win32" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> 
    </dependentAssembly> 
</dependency> 
+0

Grazie a Botz3000! Questa soluzione ha funzionato alla grande. –

+0

Funziona con XP? –

+0

@NickeManarin Sì, l'ultima volta che l'ho usato su XP, ha funzionato. – Botz3000

0

Im il mio caso a Used WinForms controlli all'interno WPF quindi applicare EnableVisualStyles() ...

+1

Winforms è morto e mescolando due tecnologie come Winforms e WPF non è né una soluzione raccomandabile né performante. –

Problemi correlati