Подтвердить что ты не робот

WPat datagrid позволяет пользователю добавлять строки?

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

Почему "новая" пустая строка не отображается? Вот моя заявка xaml:

<UserControl.Resources>
  <CollectionViewSource x:Key="MyItems" Source="{Binding Path=AllItems}">
  </CollectionViewSource>
</UserControl.Resource>

<my:DataGrid HorizontalAlignment="Stretch"
  AutoGenerateColumns="True"
  SelectionUnit="FullRow"
  CanUserAddRows="True"
  CanUserDeleteRows="True"
  DataContext="{StaticResource MyItems}"
  ItemsSource="{Binding}">

PS: Я использую реализация MVPM Джоша Смита. Я также прочитал несколько SO сообщений по этой проблеме и они не помог.

Спасибо заранее.

Обновление 2010-01-14:

Когда происходит событие загрузки usercontrol, "CanUserAdddRows" является ложным. Я подозреваю, что это связано с перечисленными условиями здесь.

4b9b3361

Ответ 1

Нашел проблему. Мой конструктор в объекте, что часть моего ObservableCollection не была объявлена ​​публичной.

* Удар головой *

Спасибо за ваше время.

Ответ 2

Убедитесь, что ваши объекты в ObeservableCollection имеют конструктор без параметров без параметров.

Ответ 3

Новая пустая строка будет зависеть от того, будет ли сбор, который вы связываете, реализует IEditableCollectionView. см. здесь. Это, как говорится, я обнаружил, что иногда это работает хорошо, а в других случаях необъяснимо, похоже, это не так, но IEditableCollectionView - это начало