Vista样式资源管理器/文件夹视图

时间:2009-06-15 16:34:48

标签: c# .net wpf winforms user-interface

我想在listview中列出一个类似于vista explorer窗口的大(256x256)图标列表,但是winforms的listview控件看起来不像vista的listview。

在深入研究WPF之前,有人可以告诉我WPF listview是否可以这样做吗?

基本上我得到了这个(纯蓝色选择):

alt text

而不是这个(半透明的蓝色选择):

alt text

我甚至可以使用WinForms实现这一目标吗?

顺便说一下,我使用的是Windows 7。

2 个答案:

答案 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的样本。