Как связать данные в WPF DataGrid в коде? - PullRequest
0 голосов
/ 25 июня 2011

У меня есть следующий код в расширенной DataGrid для проверки или снятия флажка CheckBoxColumn:

            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 Ответ

1 голос
/ 25 июня 2011

Установка значения локально удалит привязку, которая связывает ваше CheckBox с вашими данными.Есть ли причина, по которой вы обновляете состояние своих данных через пользовательский интерфейс?Почему бы не использовать ту же логику цикла для данных?

Если вы действительно должны сделать это таким образом, вам стоит взглянуть на UI Automation:

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

...