私はWPFアプリケーションを開発しています。がDataGrid入っています。ItemSourceデータグリッドの をIEnumerableコレクションに割り当てました。窓に がありTreeviewます。ツリービューの要素をクリックすると、データグリッドをロードする必要があります
private void treeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
this.dataGrid1.ItemsSource = null;
this.dataGrid1.Visibility = Visibility.Visible;
this.dataGrid1.ItemsSource = objref.FinalValue;
// Where Objref.FinalValue is an IEnumerable collection.
grid_data = objref.FinalValue;
}
しかし、問題は、selectionが変更されるたびに、 の値がdatagrid上書きされずに追加されることです。データグリッドをフラッシュしdataGrid1.Columns.Clear()、後でが追加さdataGrid.ItemSource = null;れていることがわかりました。objref.FinalValueしたがって、データグリッドをフラッシュしても、値全体が表示されます..
objrefだから私が使用したインスタンスとして持っているクラスで
private IEnumerable Result;
public IEnumerable FinalValue
{
get { return Result; }
set { Result = value; }
}
// Update Result with values so that it can be assigned to datagrid.
追加ではなく上書きする必要があります。しかし、FinalValue毎回追加されています。この問題を解決するにはどうすればよいですか?