在WPF应用程序中向C#中的ListView添加项
我想创建磁盘上文件的列表视图,以便在选中时进行进一步处理。因此,我创建了一个包含文件名、日期和大小列的列表视图。然后,我使用以下函数加载listview:在WPF应用程序中向C#中的ListView添加项,c#,wpf,listview,C#,Wpf,Listview,我想创建磁盘上文件的列表视图,以便在选中时进行进一步处理。因此,我创建了一个包含文件名、日期和大小列的列表视图。然后,我使用以下函数加载listview: private void Window_Loaded(object sender, RoutedEventArgs e) { foreach (string s in Directory.GetLogicalDrives()) { filelist.Items.Add(s); }
private void Window_Loaded(object sender, RoutedEventArgs e)
{
foreach (string s in Directory.GetLogicalDrives())
{
filelist.Items.Add(s);
}
}
这列出了系统中要启动的驱动器,这很好,但屏幕上显示的是
filename date size
c:\ c:\ c:\
d:\ d:\ d:\
所以,我的问题是,如何将子列的日期和大小设置为
“
或”
?您似乎有很多东西需要学习,所以我只给您一些线索,让您开始学习,否则这个答案会太长
您有3列,每列都从同一对象(字符串)获取数据
创建一个新类,该类将保存3列的数据:
class Drive
{
public string Name { get; set; }
public string Date { get; set; }
public string Size { get; set; }
}
然后将其替换为:
foreach (string s in Directory.GetLogicalDrives())
{
filelist.Items.Add(s);
}
使用此选项,将生成数据项:
var drives = Directory.GetLogicalDrives().Select(d => new Drive { Name = d });
foreach (var drive in drives)
{
MyListView.Items.Add(drive);
}
如下所示设置您的列表视图
,以便每个列从每个项中自己的属性获取数据:
<ListView x:Name="MyListView">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="filename" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="date" DisplayMemberBinding="{Binding Date}"/>
<GridViewColumn Header="size" DisplayMemberBinding="{Binding Size}"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>