动态添加WPF ListView项

时间:2011-09-29 12:46:34

标签: c# xaml

我正在寻找示例或帮助创建文件的WPF列表视图。

<ListView Margin="10,10,0,13" Name="ListView1" HorizontalAlignment="Left"
         VerticalAlignment="Top" Width="194" Height="200">

我用这种方法加载我的文件:

    private void AddFiles_Click(object sender, RoutedEventArgs e)
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.Multiselect = true;

        if (ofd.ShowDialog() == true)
        {
            string[] filePath = ofd.FileNames;
            string[] safeFilePath = ofd.SafeFileNames;
        }
    }

我现在该怎么办?

ListView1.Items.Add(...)似乎不起作用。事实上,我无法从我的cs代码中找到ListView1。

我找到了信息here

3 个答案:

答案 0 :(得分:2)

我建议将DataBinding用于ListView中的显示项 你应该绑定ObservableColliction文件; 使用ListView ItemSource属性 当您在ListView项目中添加或删除集合中的文件时,将自动更新

例如,请查看此article

答案 1 :(得分:1)

简单,

  • 将文件(名称)存储在ViewModel的列表(ObservableCollection)中
  • 将ListView.ItemSource数据绑定到该集合
  • 添加/删除/更改集合中的文件,而不是列表视图中的文件

如果您没有使用显式ViewModel,请使用您的WindowClass。

答案 2 :(得分:1)

作为一种快速而又脏的方法,您可以将文件集合直接分配给ListView的ItemsSource属性

ListView1.ItemsSource = safeFilePath;

在XAML中,您可以添加ItemTemplate来自定义单个文件的可视化