在WPF中,如何在DataGrid中清除DataBinding?

时间:2011-01-11 06:07:35

标签: wpf data-binding datagrid

我在我的应用程序中使用WPFToolKit DataGrid。我已将DataGrid绑定到XMlDocument。 网格显示XML中的数据。我必须删除DataGrid中的所有绑定并在某些事件中重置它。

现在我的问题是如何删除DataGrid和XMLDocument之间的DataBinding。

我尝试过这样的东西::

dg.SetValue(DataGrid.BindingGroupProperty, null); //doesn't work

我做错了什么?

4 个答案:

答案 0 :(得分:6)

要在WPF中撤消绑定,只需设置先前绑定到其他值的属性即可。在DataGrid的情况下,其数据通常绑定到ItemsSource属性,因此将其设置为null将删除其先前的绑定。但是如果DataGrid中有任何其他属性绑定,则必须将这些属性设置为“未绑定”值。哪些将取决于您的情况。但在您的示例中,代码将是:

dg.ItemsSource = null;

答案 1 :(得分:2)

以下一行解决了我的问题::

  BindingOperations.ClearAllBindings(dg);

答案 2 :(得分:0)

尝试将dataGrid.DataContext更改为null或空字符串。

答案 3 :(得分:0)

以上对我不起作用。如果绑定对我有用:

dataGrid.ItemsSource = null;
dataGrid.Columns.Clear();
dataGrid.Items.Clear();
dataGrid.Items.Refresh();

如果没有约束力:

dataGrid.Columns.Clear();
dataGrid.Items.Clear();
dataGrid.Items.Refresh();