0

我有一个DataGrid这样的:

    class SearchFile
    {
        public string path { set; get; }
        public int count { set; get; }
    }

   //...

        files = new List<SearchFile>();

        DataGridTextColumn col1 = new DataGridTextColumn();
        DataGridTextColumn col2 = new DataGridTextColumn();
        col1.Header = "File";
        col2.Header = "count";
        col1.Binding = new Binding("path");
        col2.Binding = new Binding("count");
        dataGrid1.Columns.Add(col1);
        dataGrid1.Columns.Add(col2);

我这样做是为了填充项目源:

            foreach(var file in allFiles)
            {
                SearchFile sf = new SearchFile() { path=file, count=c };
                files.Add(sf);
            }

以上是将多次启动的事件处理程序的一部分。我在哪里将 绑定filesItemsSource属性以使其动态更新?我尝试将它放在 foreach 循环之后,但只有第一次运行有任何影响,并且网格在后续运行中不会改变(何时allFiles不同)。

4

1 回答 1

1

使用ObservableCollection. 它会在添加、删除项目或刷新整个列表时提供通知:

files = new ObservableCollection<SearchFile>();
于 2012-11-12T14:54:18.197 回答