如何在DataTrigger 中设置DataGrid 线条颜色?
How to set DataGrid line color in DataTrigger?
如何通过 DataTrigger 为 DataGrid 中的某些行设置不同的网格线颜色?
我试过这个:
<DataGrid ...>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger
Binding="{Binding in_stock, Converter={conv:LessThan 4}}"
Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
但是网格线都是一样的,默认颜色。
试试这个方法
<Window.Resources>
<Style x:Key="HighLightCell" TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
<Style.Triggers>
<DataTrigger Binding="{Binding In_stock}" Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<DataGrid Grid.Row="3"
ItemsSource="{Binding DataGridPersonList}"
SelectedItem="{Binding SelectedDataGridPerson}"
CellStyle="{StaticResource HighLightCell}"
AutoGenerateColumns="False"
>
<DataGrid.Columns>
<DataGridTextColumn Header="Status"
Binding="{Binding Status}" Width="*" >
</DataGridTextColumn>
<DataGridTextColumn Header="Name"
Binding="{Binding Name}" Width="*" />
</DataGrid.Columns>
</DataGrid>
</Grid>
我还没有找到在每一行隐藏网格线的方法,但我通过 GridLinesVisibility="Vertical"
删除所有水平网格线并为每个 DataGridCell 创建一个像素的底部边框来绕过它想要。
如何通过 DataTrigger 为 DataGrid 中的某些行设置不同的网格线颜色?
我试过这个:
<DataGrid ...>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger
Binding="{Binding in_stock, Converter={conv:LessThan 4}}"
Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
但是网格线都是一样的,默认颜色。
试试这个方法
<Window.Resources>
<Style x:Key="HighLightCell" TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
<Style.Triggers>
<DataTrigger Binding="{Binding In_stock}" Value="True">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<DataGrid Grid.Row="3"
ItemsSource="{Binding DataGridPersonList}"
SelectedItem="{Binding SelectedDataGridPerson}"
CellStyle="{StaticResource HighLightCell}"
AutoGenerateColumns="False"
>
<DataGrid.Columns>
<DataGridTextColumn Header="Status"
Binding="{Binding Status}" Width="*" >
</DataGridTextColumn>
<DataGridTextColumn Header="Name"
Binding="{Binding Name}" Width="*" />
</DataGrid.Columns>
</DataGrid>
</Grid>
我还没有找到在每一行隐藏网格线的方法,但我通过 GridLinesVisibility="Vertical"
删除所有水平网格线并为每个 DataGridCell 创建一个像素的底部边框来绕过它想要。