我正在开发一个 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
每次都附加了。我该如何解决这个问题?