我正在开发一个与Windows 7的Device Stage密切相关的应用程序。在Device Stage中,在主横幅下面有一个ListView,其中包含体现为ListViewItems的动作。
在我的WPF应用程序中,我使用WindowsFormsHost来托管WinForms ListView,以便我可以在其上使用SetWindowTheme()
并对其应用Windows Vista / 7样式。
然而,这不起作用,并且在Windows窗体中使用时效果不同。
如何在WPF中的ListView上实现Windows 7外观?我不打算创建一个自定义样式然后应用它,因为坦率地说,继续在这个应用程序中使用WPF太麻烦了。
谢谢! :)
答案 0 :(得分:3)
只需添加以下行:
[DllImport("uxtheme.dll", CharSet = CharSet.Unicode)]
public static extern int SetWindowTheme(IntPtr hWnd, String pszSubAppName, String pszSubIdList);
.ctor
{
System.Windows.Forms.Integration.WindowsFormsHost.EnableWindowsFormsInterop();
System.Windows.Forms.Application.EnableVisualStyles();
SetWindowTheme(MyControl.Handle, "Explorer", null);
}