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
bài viết trên blog này có thể có giá trị một cái nhìn:
Why does the OpenFileDialog in WPF look so “1999” and how can I fix it?
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>
Cảm ơn Botz3000! Giải pháp này làm việc tuyệt vời. –
Tính năng này có hoạt động với XP không? –
@NickeManarin Vâng, lần trước tôi sử dụng nó trên XP, nó hoạt động. – Botz3000
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() ...
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 liên kết không làm việc nữa. Chính xác: [link] (http://learnwpf.com/post/2007/01/05/Why-does-the-OpenFileDialog-in-WPF-look-so-e2809c1999e2809d-and-how-can-I- fix-it.aspx) – Mar