1

WPF 'DataGrid' では、水平グリッド ラインの色をHorizontalGridLinesBrushプロパティで変更できます。

いくつかの項目にはブール プロパティが true に設定されているため、水平グリッド ライン ブラシを別の色に設定してそれらを強調表示したいと考えています。

特定の行のみ水平グリッド線の色を変更することはできますか?

4

1 に答える 1

3

DataGrid.HorizontalGridLinesBrushごとに設定されDataGridているため、行ごとに変更することはできませんが、水平グリッド線を無効にしてカスタムDataGridRowスタイルを作成することで、デフォルトの水平線の動作を置き換えることができます

<DataGrid ... GridLinesVisibility="Vertical">
    <DataGrid.RowStyle>
        <Style TargetType="{x:Type DataGridRow}">
            <Setter Property="BorderThickness" Value="0,0,0,1"/>
            <Setter Property="BorderBrush" Value="Black"/>
            <Style.Triggers>

                <!-- this will trigger when row is selected -->
                <Trigger Property="IsSelected" Value="True">                        
                    <Setter Property="BorderBrush" Value="Red"/>
                </Trigger>

                <!-- this will trigger when Highlight property of the view model is true -->
                <DataTrigger Binding="{Binding Highlight}" Value="True">
                    <Setter Property="BorderBrush" Value="Green"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </DataGrid.RowStyle>
</DataGrid>
于 2014-11-14T14:12:26.897 に答える