How do I create a new row in WPF DataGrid when it is bound to an XmlDataProvider?


Question

I have a project with an XmlDataProvider bound to a WPF DataGrid control. I have the bindings on the DataGrid set up as follows:

<dg:DataGrid ItemsSource="{Binding Source={StaticResource XmlData}, XPath=Root/People/Person}"
             AutoGenerateColumns="False">
    <dg:DataGrid.Columns>
        <dg:DataGridTextColumn Header="ID" Binding="{Binding XPath=ID}"/>
        <dg:DataGridTextColumn Header="Name" Binding="{Binding XPath=Name}"/>
    </dg:DataGrid.Columns>
</dg:DataGrid>

Users can edit entries using the DataGrid without any problems. What I cannot manage to accomplish is allowing the user to add a new row (i.e. a new Person) using the DataGrid. How can I allow this?

1
13
1/26/2009 3:13:31 PM

Make sure that you set: CanUserAddRows="True" and that the default constructor of a bound class is available.

19
7/17/2015 8:34:17 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon