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);
            }

上記は、複数回起動されるイベントハンドラーの一部です。動的に更新されるようfilesに、をプロパティにバインドするにはどうすればよいですか?ItemsSourceforeachループの後に配置しようとしましたが、最初の実行のみが効果を発揮し、後続の実行ではグリッドは変更されません(allFiles異なる場合)。

4

1 に答える 1

1

を使用しObservableCollectionます。アイテムが追加、削除されたとき、またはリスト全体が更新されたときに通知を提供します。

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