Как я могу заставить WPF DataGrid создать новый объект модели представления позади строки? - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть WPF DataGrid с несколькими столбцами переключателей и несколькими столбцами текстовых полей.

Все столбцы являются DataGridTemplateColumns, поэтому я могу настроить форматирование отображения строки.(Не уверен, имеет ли это какое-либо отношение к чему-либо.)

Есть два столбца с переключателями, которые должны быть сгруппированы вместе, чтобы позволить пользователю выбрать один или другой.

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

Проблема в том, что кажется, что DataGridне создает модель представления строки, пока не активируется текстовое поле.Вот когда конструктор срабатывает.До этого момента не существует уникального имени группы, поэтому пользователь может выбрать оба переключателя.После запуска конструктора переключатели работают нормально.

Существует ли способ принудительно создать модель представления, как только DataGrid отобразит новую строку?

1 Ответ

0 голосов
/ 21 декабря 2018

Радиокнопки должны иметь команду, к которой вы можете привязать - позволяющую программно создавать экземпляр модели представления.Вы можете отправить текстовый текст строки в качестве параметра команды (это может даже вызвать создание экземпляра), а затем вы можете создать его экземпляр и добавить его в коллекцию, которую DataGrid использует в качестве DataSource, если он все еще равен нулю.

...