2009-04-22 20 views
6

Khi sử dụng các phần tử wpf trong ứng dụng của tôi, mọi kiểu dáng cho hệ điều hành, nhưng khi tôi sử dụng OpenDialog hoặc MessageBox, nó sẽ hiển thị cách Windows 9X cũ hơn. Có cách nào dễ hơn tôi có thể thực hiện một cuộc gọi tương đương Application.EnableVisualStyles() để làm cho các hộp thông báo và hộp thoại trông giống như phần còn lại của ứng dụng?Cách bật kiểu trực quan trong WPF cho các hộp thoại chung?

Trả lời

18

Bạn cần phải thêm một biểu hiện để lắp ráp của bạn. Bạn có thể làm điều này thông qua Add New Item -> General -> Application Manifest file.

Sau đó, thêm dòng sau ở đâu đó bên trong thẻ asmv1 trong file manifest:

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

Cảm ơn Botz3000! Giải pháp này làm việc tuyệt vời. –

+0

Tính năng này có hoạt động với XP không? –

+0

@NickeManarin Vâng, lần trước tôi sử dụng nó trên XP, nó hoạt động. – Botz3000

0

Im trường hợp của tôi trong sử dụng Winforms điều khiển bên trong WPF sau đó áp dụng EnableVisualStyles() ...

+1

Winforms đã chết và trộn lẫn hai công nghệ như Winforms và WPF không phải là một giải pháp được khuyến nghị cũng không thể thực hiện được. –

Các vấn đề liên quan