2011-09-29 95 views
0

我正在寻找示例或帮助创建文件的WPF列表视图。动态添加WPF ListView项目

<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。

我发现了一个列表(的ObservableCollection)信息here

+1

你要显示一个文件夹或仅将文件中的所有文件由用户逐一选择?你最终的结果是什么? –

+0

问题不在于加载文件。我的问题是添加一些东西到一个列表视图。 –

+0

关于名称,请尝试x:Name而不是Name。 – dowhilefor

回答

2

我建议使用DataBinding来显示ListView中的项目 您应该绑定ObservableColliction文件; 你的ListView的ItemSource属性 ,当你在收集上的ListView项目中添加或删除的文件将被automaticaly

更新的例子来看一下这个article

1

简单,

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

如果您没有使用明确的ViewModel,请使用您的WindowClass。

1

的快速和肮脏的方式,您可以直接指定文件的集合在XAML ListView控件

ListView1.ItemsSource = safeFilePath; 

的ItemsSource属性,你可以添加一个ItemTemplate来定制单个文件的可视化