Ответ 1
Нашел проблему. Мой конструктор в объекте, что часть моего ObservableCollection не была объявлена публичной.
* Удар головой *
Спасибо за ваше время.
Я бы хотел, чтобы мой 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" является ложным. Я подозреваю, что это связано с перечисленными условиями здесь.
Нашел проблему. Мой конструктор в объекте, что часть моего ObservableCollection не была объявлена публичной.
* Удар головой *
Спасибо за ваше время.
Убедитесь, что ваши объекты в ObeservableCollection имеют конструктор без параметров без параметров.
Новая пустая строка будет зависеть от того, будет ли сбор, который вы связываете, реализует IEditableCollectionView. см. здесь. Это, как говорится, я обнаружил, что иногда это работает хорошо, а в других случаях необъяснимо, похоже, это не так, но IEditableCollectionView - это начало