WPF datagrid allow user to add rows?

JP Richardson picture JP Richardson · Jan 13, 2010 · Viewed 34.5k times · Source

I would like my WPF Datagrid that is bound to my observable collection to have the blank row at the bottom so that the user can add more info. I've successfully bound the data, i.e. I can see it.

Why is the 'new' blank row not showing? Here is my xaml declaration:

<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: I'm using Josh Smith's MVVM implementation. I have also read some SO posts on the issue and they have not helped.

Thanks in advance.

Update 2010-01-14:

When the usercontrol load event occurs, "CanUserAdddRows" is false. I suspect is has something to do with the conditions listed here.

Answer

JP Richardson picture JP Richardson · Jan 14, 2010

Found the problem. My constructor in the object that's part of my ObservableCollection wasn't declared public.

*Hits head*

Thanks for your time.