繁体   English   中英

在WPF应用程序中将项目添加到C#中的ListView中

[英]Adding items to a ListView in C# in a WPF application

我想在磁盘上创建文件列表视图,以便在选择后进行进一步处理。 因此,我创建了带有列文件名,日期和大小的列表视图。 然后,我使用以下功能加载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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM