xaml DataGrid новые строки

Рейтинг: 0Ответов: 0Опубликовано: 13.05.2023

А есть небольшой вопрос связанных с 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>

Ответы

Ответов пока нет.