首页 > 解决方案 > 如何从数据网格突出显示的行中删除缩进?

问题描述

我想知道如何DataGrid从选定(突出显示)行中删除此缩进。

在此处输入图像描述

我试图将边距和填充设置为零,我尝试了很多其他的东西但没有成功。

请问,有人知道该怎么做吗?

这是我的 xaml 的关键部分:

<DataGrid Grid.Row="0" Height="200" Width="1000" Name="dataGrid1" AutoGenerateColumns="false" 
                          ItemsSource="{Binding RecordsToShow}" Margin="10,359,329,10">
                    <DataGrid.Resources>
                        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{x:Static Colors.Transparent}"/>
                        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black"/>
                        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{x:Static Colors.Transparent}"/>
                    </DataGrid.Resources>
                    <DataGrid.RowStyle>
                        <Style TargetType="DataGridRow">
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding State}" Value="UNCHECKED">
                                    <Setter Property="Background" Value="White"></Setter>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding State}" Value="CHECKED">
                                    <Setter Property="Background" Value="LimeGreen"></Setter>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding State}" Value="UNRESOLVED_MISTAKE">
                                    <Setter Property="Background" Value="Red"></Setter>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding State}" Value="UFO">
                                    <Setter Property="Background" Value="DarkGreen"></Setter>
                                </DataTrigger>
                                <Trigger Property="IsSelected" Value="true">
                                    <Setter Property="BorderBrush" Value="Turquoise" />
                                    <Setter Property="BorderThickness" Value="3"/>
                                    <Setter Property="Padding" Value="0 0 0 0"/>
                                    <Setter Property="Margin" Value="0 0 0 0"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </DataGrid.RowStyle>
                    <DataGrid.Columns>
                        <DataGridTemplateColumn IsReadOnly="True" Header="Obrázek" Width="*">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <Image Source="{Binding ProductPhoto}" />
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                        <DataGridTextColumn IsReadOnly="True" Header="Číslo" Binding="{Binding NomenclatureCode}" Width="*"/>
                        <DataGridTextColumn IsReadOnly="True" Header="Název" Binding="{Binding NomenclatureDescription}" Width="*"/>
                        <DataGridTextColumn IsReadOnly="True" Header="Velikost" Binding="{Binding SizeCode}" Width="*"/>
                        <DataGridTextColumn IsReadOnly="True" Header="Počet" Binding="{Binding Quantity}" Width="*"/>
                        <DataGridTextColumn IsReadOnly="True" Header="Chyba" Binding="{Binding Mistakes}" Width="*"/>
                    </DataGrid.Columns>
                </DataGrid>

标签: c#wpfxaml

解决方案


RowHeaderWidth属性设置为0应该完全摆脱缩进:

<DataGrid ... RowHeaderWidth="0">

您可能还想在您的中指定负的左右边距Style以删除所选行的缩进:

<Style TargetType="DataGridRow">
    <Style.Triggers>
        <DataTrigger Binding="{Binding State}" Value="UNCHECKED">
            <Setter Property="Background" Value="White"></Setter>
        </DataTrigger>
        <DataTrigger Binding="{Binding State}" Value="CHECKED">
            <Setter Property="Background" Value="LimeGreen"></Setter>
        </DataTrigger>
        <DataTrigger Binding="{Binding State}" Value="UNRESOLVED_MISTAKE">
            <Setter Property="Background" Value="Red"></Setter>
        </DataTrigger>
        <DataTrigger Binding="{Binding State}" Value="UFO">
            <Setter Property="Background" Value="DarkGreen"></Setter>
        </DataTrigger>
        <Trigger Property="IsSelected" Value="true">
            <Setter Property="BorderBrush" Value="Turquoise" />
            <Setter Property="BorderThickness" Value="3"/>
            <Setter Property="Padding" Value="0 0 0 0"/>
            <Setter Property="Margin" Value="-3 0 -3 0"/>
        </Trigger>
    </Style.Triggers>
</Style>

推荐阅读