Как открыть свойство столбцов DataGrids для привязки со свойством в Viewmodel? - PullRequest
0 голосов
/ 27 апреля 2011

В моей Viewmodel, в зависимости от данного типа данных, я генерирую столбец (используя отражение, получаю все свойства типа данных и использую их для создания соответствующего столбца сетки данных) и добавляю его в коллекцию Columns. Теперь я хочу привязать эту коллекцию к свойству столбцов моей таблицы данных, как показано ниже:

Пожалуйста, дайте мне знать, как этого добиться, не ломая MVVM?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2011

Я получил решение, проблема была не с прикрепленным свойством.На самом деле я использовал сетку данных внутри TabControl. Но когда я переключался с первой вкладки на вторую и затем снова обратно на первую, генерировалось исключение из присоединенного свойства, что «column xyz уже существует .....», но Datagrid.Columns.Count был 0. Это было очень странно, хотя количество столбцов равно 0, я не могу вставить столбец (хотя я не могу выяснить, почему это произошло). Затем во время отладки обнаружил, что всякий раз, когда я переключался на свой предыдущийtab, конструктор представления был вызван. Переключение назад на вкладку не должно создавать новый экземпляр View, я искал в интернете и нашел ниже ссылки

Как сохранить состояние элемента управления внутри элементов вкладки в TabControl

http://eric.burke.name/dotnetmania/2009/04/26/22.09.28

, затем я создал пользовательский Tabcontrol, как показано во 2-й ссылке.Сейчас это работает.

0 голосов
/ 27 апреля 2011

Вы не можете сделать это, но есть обходной путь, проверьте это решение: Ответ в Stackoverflow

...