我想将数据网格的 DataGridCheckBoxColumn 中的复选框更改为红点。所以选中的项目是红点,而未选中的项目是空的。如何更改 DataGridCheckBoxColumn 内的样式?
最佳答案
试试看,它改编自 stackoverflow.com/questions/1345961/ 在之前的评论中提到的 Ansel Faillace。
<DataGrid x:Name="dataGrid" Margin="10" ItemsSource="{Binding}">
<DataGrid.Resources>
<Style x:Key="GreenRedCheckBox" TargetType="{x:Type Checkbox}">
<Setter Property="HorizontalAlignment" Value="Center />
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Border x:Name="innerBorder">
<Ellipse x:Name="statusLight"
Fill="Red"
Stretch="Fill"
Stroke="Black"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Height="10"
Width="10" />
</Border>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Fill" TargetName="statusLight" Value="Green" />
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Fill" TargetName="statusLight" Value="Red" />
</Trigger>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGrideCheckBoxColumn ElementStyle="{StaticResource GreenRedCheckBox}"
EditingElementStyle="{StaticResource GreenRedCheckBox}" />
</DataGrid.Columns>
</DataGrid>
关于checkbox - WPF 将 DataGridCheckBoxColumn 更改为红点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41802849/