清除wpf中的datagrid值

Bin*_*Mee 9 .net c# wpf datagrid

点击datagrida时我需要每次冲洗treeviewitem.我的代码如下.

private void treeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
    this.dataGrid1.Columns.Clear();
    this.dataGrid1.ItemsSource= null;
    String path =this.treeView1.SelectedItem;
    if (!File.Exists(path))
        MessageBox.Show("Not Found");
    else
    {
        ob.provider(path);

        //   String data = @"C:\logs.xml";
        string data = path;
        objref.functionality(data);
        this.dataGrid1.ItemsSource = objref.Result;
    }
}
Run Code Online (Sandbox Code Playgroud)

但每当我点击树视图项时,datagrid都不会被清除 - 它会附加传入的数据.我用过这两个dataGrid1.Columns.Clear(),dataGrid.ItemSource= null; 我怎么能这样做?

Rhe*_*xis 26

如果您使用以下方法填充DataGrid:

dataGrid.Items.Add(someObject);
Run Code Online (Sandbox Code Playgroud)

然后你应该可以使用:

dataGrid.Items.Clear(); 
Run Code Online (Sandbox Code Playgroud)

删除所有行.

如果您绑定到ItemsSource,如:

dataGrid.ItemsSource = someCollection;
Run Code Online (Sandbox Code Playgroud)

然后你应该能够将ItemsSource设置为null,它将删除所有行.

编辑:

别忘了刷新它:

dataGrid.Items.Refresh();
Run Code Online (Sandbox Code Playgroud)