我在我的应用程序中使用WPFToolKit DataGrid。我已将DataGrid绑定到XMlDocument。 网格显示XML中的数据。我必须删除DataGrid中的所有绑定并在某些事件中重置它。
现在我的问题是如何删除DataGrid和XMLDocument之间的DataBinding。
我尝试过这样的东西::
dg.SetValue(DataGrid.BindingGroupProperty, null); //doesn't work
我做错了什么?
答案 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();