У меня есть фундаментальный вопрос:
Допустим, у меня есть список элементов некоторого класса. И у меня также есть DataGrid, который отображает свойства элементов этого списка. Я хочу, чтобы пользователь выбирал некоторые элементы через дополнительный столбец флажка (фактически, столбец данных). Затем он нажимает кнопку, и только выбранные элементы обрабатываются какой-либо функцией.
Как мне реализовать логику этого флажка?
Должен ли я добавить логическое свойство в свой класс и связать его со столбцом флажка? (Я думаю, нехорошо добавлять дополнительное свойство в мой базовый класс только ради пользовательского интерфейса)
Должен ли я создать некоторый класс-оболочку, который имеет логическое свойство, и связать DataGrid со списком класса-оболочки? (Лучше соответствует правилам ООП, чем первый вариант)
Сделать несвязанный столбец флажка. Затем проверьте строки таблицы данных в цикле, чтобы собрать выбранные элементы перед обработкой. (Это то, что я хотел сделать, но несвязанный столбец флажка ведет себя очень странно: когда я переключаю один флажок, переключаются также и несколько других. И я также не нашел способа просмотреть все строки DataGrid ).
Ваш вариант ...
И я хочу сделать это в соответствии с правилами ООП. Это главное требование. Вот почему я не могу принять первый вариант, если вы не скажете мне, что он в порядке и обычно используется.