Я создал некоторый класс контейнеров данных с OnPropertyChanged event
и ObservableCollection
и привязал его к datagrid в WPF. Проблема заключается в том, что каждый раз, когда запускается программа, datagrid автоматически создает новую строку внизу. Эта новая строка отсутствует в моем ObservableCollection, поэтому ее редактирование будет бесполезным, так как добавление нового элемента программно в моем ObservableCollection приведет к стиранию данных в новой строке.WPF: новая строка в Datagrid, которая привязывается к настраиваемому классу
Как отключить новую строку или обновить ObservableCollection, если пользователь начнет редактирование в новой строке (как в SQL Server Management Studio)?
nb: Если вы можете дать мне пример «правильного» пользовательского класса в WPF, я все еще в WPF. Ответ
Если вы просто хотите отключить, что пользователи могут добавлять новые строки, тогда установите 'CanUserAddRows =" False "' в 'DataGrid'. 'NewItemPlaceHolder', который является пустой строкой, будет вставлен в' ObservableCollection' после фиксации –
Спасибо за ваш комментарий. Я делаю то, что вы говорите, и это работает. к сожалению, я не могу отметить ваш комментарий в качестве ответа. –
@Meleak Не могли бы вы оставить свой комментарий в качестве ответа? Я сделал это вначале как сообщество wiki, но я предпочел бы, чтобы вы были автором и удалили мой ответ сообщества. –