2011-06-25 11 views
0

私がチェックするかCheckBoxColumnをオフにし、拡張データグリッド内のコードを次ていますコード内のWPF DataGridでデータをバインドする方法は?

  if (this.Columns[c] is DataGridCheckBoxColumn) 
      { 
       CheckBox cb = this.GetCellCtrl<CheckBox>(this.Columns[fromCol], topRow); 
       for (int r = fromRow + 1; r <= toRow; r++) 
       { 
        CheckBox tt = this.GetCellCtrl<CheckBox>(this.Columns[fromCol], this.GetRow(r)); 
        if (tt != null) 
         tt.IsChecked = cb.IsChecked; 
       } 
      } 

問題は、チェックボックスをチェックし(またはオフ)していることですが、基礎となるデータが更新されません。チェックボックスをマウスでクリックすると動作します。だから、私のコードとマウスクリックの違いは何ですか?私の問題を解決するには?

答えて

1

ローカルに値を設定すると、CheckBoxをデータに結合するバインディングが削除されます。 UIを使用してデータの状態を更新する理由はありますか?なぜあなたの同じループロジックをデータに使用しないのですか?

あなたが本当にそれをこのようにしなければならない場合は、UIオートメーションになります。

http://msdn.microsoft.com/en-us/library/ms747327.aspx

+0

はあなたの応答をありがとうございました。私はUIオートメーションを探していません。私は、DataGridCheckBoxColumの場合、バインディングデータはbool型でなければなりません。私は事実上CheckBoxのマウスクリックをシミュレートしようとします。私のテストでは、バインディングはデカップリングされていないようです。なぜなら、それをクリックして、元のデータに変更が反映されているからです。 – newman

+0

あなたは「値をローカルに設定するとバインディングが削除されます」と言っています - これはどのように機能しますか?どのようにしてバインディングを再構築できますか? – newman

関連する問題