xaml DataGrid новые строки
А есть небольшой вопрос связанных с xaml. Когда я добавляю элементы в DataGrid, то он не создаёт новые строки для ввода новых данных. Как это можно исправить ? Заранее спасибо за внимание !
<DataGrid Grid.Column="1" ItemsSource="{Binding DepartmentButgetList, Mode=TwoWay}"
AutoGenerateColumns="False"
RowDetailsVisibilityMode="Visible"
CanUserAddRows="True"
>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Focusable" Value="False"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="DodgerBlue"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Id" Binding="{ Binding Id}" IsReadOnly="True" />
<DataGridTemplateColumn Header="Департамент">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Department.Name}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox Focusable="False"
ItemsSource="{Binding DataContext.DepatrmentList, RelativeSource={RelativeSource AncestorType=Window}}"
SelectedItem="{Binding Department, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Name" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Стоимость-План" IsReadOnly="True" Binding="{Binding GetAllPlanCost}" />
<DataGridTextColumn Header="Стоимость-Итог" IsReadOnly="True" Binding="{Binding GetAllFactCost}" >
</DataGridTextColumn>
<DataGridTemplateColumn Header="">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Удалить" Command="{Binding DataContext.DeleteDepartmantCommand, RelativeSource={RelativeSource AncestorType=Window}}"
CommandParameter="{Binding}" Background="DarkRed"
Visibility="{Binding Id, Converter={StaticResource EmptyIntToVisibilityConverter},FallbackValue=Collapsed}"
/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding FuelDetails, Mode=TwoWay}"
AutoGenerateColumns="False"
CanUserAddRows="True"
>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Focusable" Value="False"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="GhostWhite"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Id" Binding="{ Binding Id}" IsReadOnly="True" />
<DataGridTemplateColumn Header="Топливо">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Fuel.Name}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding DataContext.FuelList, RelativeSource={RelativeSource AncestorType=Window}}"
SelectedItem="{Binding Fuel, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Name" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Литры-План" Binding="{ Binding VolumePlan}" />
<DataGridTextColumn Header="Цена-План" Binding="{ Binding FuelPlanCost}" />
<DataGridTextColumn Header="Лиры-Факт" Binding="{ Binding VolumeFact}" />
<DataGridTextColumn Header="Цена-Факт" Binding="{ Binding FuelFactCost}" />
<DataGridTemplateColumn Header="">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Удалить" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource AncestorType=Window}}"
CommandParameter="{Binding}"
Visibility="{Binding Id, Converter={StaticResource EmptyIntToVisibilityConverter},FallbackValue=Collapsed}"
/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
Источник: Stack Overflow на русском