2009-04-22 9 views
6

Podczas korzystania z elementów wpf w mojej aplikacji wszystkie style są dodawane do systemu operacyjnego, ale kiedy używam OpenDialog lub MessageBox, renderuje to starszą wersję Windows 9X. Czy istnieje prostszy sposób, w jaki mogę wykonać wywołanie Application.EnableVisualStyles() równoważne, aby pola i okna dialogowe komunikatów wyglądały tak samo, jak reszta aplikacji?Jak włączyć style wizualne w WPF dla typowych okien dialogowych?

Odpowiedz

18

Trzeba dodać manifestu do swojego zespołu. Możesz to zrobić poprzez Dodaj nowy element -> Ogólne -> Plik manifestu aplikacji.

Następnie dodać następujące gdzieś wewnątrz znacznika asmv1 w pliku manifestu:

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

Dzięki Botz3000! To rozwiązanie działało świetnie. –

+0

Czy działa z XP? –

+0

@NickeManarin Tak, ostatni raz użyłem go na XP, zadziałało. – Botz3000

0

Im moim przypadku używanych WinForm WPF kontroluje wewnątrz następnie zastosować EnableVisualStyles() ...

+1

WinForm jest martwy i połączenie dwóch technologii, takich jak WinForm i WPF, nie jest ani zalecanym rozwiązaniem, ani wydajnym. –

Powiązane problemy