2011-01-11 21 views
2

私のアプリケーションでWPFToolKit DataGridを使用しています。 DataGridをXMlDocumentにバインドしました。 グリッドにXMLからのデータが表示されます。私はDataGridのすべてのバインディングを削除し、いくつかのイベント中にそれをリセットする必要があります。WPFでは、DataGridでデータバインディングをクリアする方法は?

私の質問は、DataGridとXMLDocumentの間のデータバインディングを削除する方法です。

私は私が間違って何をやっているようなもの::

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

を試してみましたか?

答えて

2

次の行は、私の問題を解決しました::

BindingOperations.ClearAllBindings(dg); 
6

WPFでバインディングを元に戻すには、以前にバインドされていたプロパティを他の値に設定するだけです。 DataGridの場合、そのデータは通常ItemsSourceプロパティにバインドされているため、nullに設定すると以前のバインディングが削除されます。しかし、バインドされているDataGridに他のプロパティがある場合は、それらを「バインドされていない」値に設定する必要があります。どちらがあなたの状況に依存するか。しかし、あなたの例では、コードは次のようになります。

dg.ItemsSource = null; 
+0

を私はのviewmodelでこれを置くだろうか?ユーザーが保存またはキャンセルを押した場合、DataGridをクリアする関数があります。 –

0

nullまたは空の文字列に変更してみてください。

0

上記の私のために動作しませんでした。結合した場合はどう私の作品:

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

結合されていない場合:

dataGrid.Columns.Clear(); 
dataGrid.Items.Clear(); 
dataGrid.Items.Refresh(); 
関連する問題