我想在listview中列出一个类似于vista explorer窗口的大(256x256)图标列表,但是winforms的listview控件看起来不像vista的listview。
在深入研究WPF之前,有人可以告诉我WPF listview是否可以这样做吗?
基本上我得到了这个(纯蓝色选择):
而不是这个(半透明的蓝色选择):
我甚至可以使用WinForms实现这一目标吗?
顺便说一下,我使用的是Windows 7。
答案 0 :(得分:5)
不确定WPF,但在WinForms中,您必须将“explorer”主题应用于列表视图,以实现类似资源管理器的UI。
[DllImport("uxtheme.dll")]
public extern static int SetWindowTheme(
IntPtr hWnd,
[MarshalAs(UnmanagedType.LPWStr)] string pszSubAppName,
[MarshalAs(UnmanagedType.LPWStr)] string pszSubIdList);
SetWindowTheme(listView.Handle, "explorer", null);
答案 1 :(得分:1)
是的,你可以在WPF中实现这一点;您可以使用MSDN文章中所述的触发器:How to: Use Triggers to Style Selected Items in a ListView。
A complete sample也可以下载。
我不确定WinForms中是否可以这样做。
更新:在回复下面评论中的问题时,这绝对是可能的。 MSDN在线再次提供了一个名为ListView That Sorts Data Sample的样本。