2011-02-09 2 views
0

Я создал некоторый класс контейнеров данных с OnPropertyChanged event и ObservableCollection и привязал его к datagrid в WPF. Проблема заключается в том, что каждый раз, когда запускается программа, datagrid автоматически создает новую строку внизу. Эта новая строка отсутствует в моем ObservableCollection, поэтому ее редактирование будет бесполезным, так как добавление нового элемента программно в моем ObservableCollection приведет к стиранию данных в новой строке.WPF: новая строка в Datagrid, которая привязывается к настраиваемому классу

Как отключить новую строку или обновить ObservableCollection, если пользователь начнет редактирование в новой строке (как в SQL Server Management Studio)?

nb: Если вы можете дать мне пример «правильного» пользовательского класса в WPF, я все еще в WPF. Ответ

+2

Если вы просто хотите отключить, что пользователи могут добавлять новые строки, тогда установите 'CanUserAddRows =" False "' в 'DataGrid'. 'NewItemPlaceHolder', который является пустой строкой, будет вставлен в' ObservableCollection' после фиксации –

+1

Спасибо за ваш комментарий. Я делаю то, что вы говорите, и это работает. к сожалению, я не могу отметить ваш комментарий в качестве ответа. –

+0

@Meleak Не могли бы вы оставить свой комментарий в качестве ответа? Я сделал это вначале как сообщество wiki, но я предпочел бы, чтобы вы были автором и удалили мой ответ сообщества. –

ответ

0

Meleak «S от комментариев:

Если вы просто хотите, чтобы отключить, что пользователи могут добавлять новые строки установите CanUserAddRows="False" в DataGrid. NewItemPlaceHolder, который является пустой строкой, будет вставлен в ObservableCollection после фиксации.

Смежные вопросы