Редактирование ObservableDictionary через DataGrid - PullRequest
2 голосов
/ 20 января 2011

Я связал свой ObservableDictionary с DataGrid.ItemSource.Моя проблема, когда я пытаюсь редактировать значение через сетку данных.Я получаю исключение "Edititem не разрешен для этого представления".Я пробовал разные решения - например, связывание ObservableDictionary.Values.ToList с сеткой данных - что позволяет редактировать элементы, но коллекция исходных значений больше не связывается.

Итак, как мне связать ObservableDictionaryв DataGrid, и я до сих пор держу его в редактируемом виде.Большое спасибо!

Ответы [ 2 ]

1 голос
/ 10 июня 2012

В последнее время, пытаясь сделать то же самое, я наткнулся на ObservableKeyedCollection . Требуется, чтобы ключ хранился в классе элементов (который, кстати, является источником проблем с ObservableDictionary - он использует KeyValuePair<> struct для перечисления, и эта структура не редактируется), но работает вместе с DataGrid, позволяющий редактировать элементы.

0 голосов
/ 23 января 2011

Вы можете найти следующее полезное:

Работа с командами редактирования Команды по умолчанию были добавлены в DataGrid для поддержки редактирования. Эти команды и их привязки ввода по умолчанию:

  • · BeginEditCommand (F2) ·

  • CancelEditCommand (Esc) ·

  • CommitEditCommand (Enter) ·

  • DeleteCommand (Удалить)

Весь блог находится здесь: http://blogs.msdn.com/b/vinsibal/archive/2008/10/01/overview-of-the-editing-features-in-the-wpf-datagrid.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...