在WPF应用程序中用c#向ListView添加项
本文关键字:ListView 添加 WPF 应用程序 | 更新日期: 2023-09-27 18:06:48
我想在磁盘上创建一个文件列表视图,以便在选中时进行进一步处理。因此,我创建了一个包含filename、date和size列的listview。然后,我用以下函数加载listview:
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
,以便每列从每个项目中自己的属性获取数据:
<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>