I have a DataGrid
in a WPF Window like this:
<DataGrid AutoGenerateColumns="False" HorizontalAlignment="Stretch"
Name="dataGrid1" VerticalAlignment="Stretch" CanUserAddRows="True"
CanUserDeleteRows="True" >
<DataGrid.Columns>
<DataGridTextColumn Header="X"></DataGridTextColumn>
<DataGridTextColumn Header="Y"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
When I go to the properties panel of the DataGrid
and try to check the CanUserAddRows
property, it remains unchecked! however it adds the CanUserAddRows="True"
to the XAML. Same things happens with the CanUserDeleteRows
property.
What is going on?
To check if I understand the question correctly: even though you set the CanUserAddRows="True"
property in XAML, when you check in the code behind, the same property is False
.
It's likely that you are binding to a read-only collection of some kind. Make sure you are binding to something like ObservableCollection<T>
to make these features work.
If there is no source specified at all, the DataGrid
won't be able to create new rows into it.