有没有办法在那里设置复选框的样式? iv尝试为复选框定义样式但不起作用。
使用鼹鼠后,似乎复选框控件中没有ToggleButton,而是使用BulleDecorator,我不确定这是第一次使用鼹鼠..
我想要实现的是,而不是复选框,我想要一个红色或绿色圆圈。
<Style TargetType="{x:Type CheckBox}">
<Setter Property="IsHitTestVisible" Value="False"/>
<Setter Property="Focusable" Value="False"/>
<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 Fill="#FFFF0000" Stroke="#FF000000" Stretch="Fill" x:Name="statusLight" Width="15" Height="15" Margin="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="statusLight" Property="Fill" Value="#FF00FF00" />
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter TargetName="statusLight" Property="Fill" Value="#FFFF0000" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
答案 0 :(得分:6)
我就这样做了:
<Controls:DataGridCheckBoxColumn Header="Homme" Binding="{Binding Homme}">
<Controls:DataGridCheckBoxColumn.ElementStyle>
<Style TargetType="CheckBox" BasedOn="{StaticResource {x:Type CheckBox}}"/>
</Controls:DataGridCheckBoxColumn.ElementStyle>
</Controls:DataGridCheckBoxColumn>
答案 1 :(得分:3)
看起来您正在寻找DataGridBoundColumn.ElementStyle属性(DataGridCheckBoxColumn派生自DataGridBoundColumn)。如果这对您不起作用,您可以始终使用DataGridTemplateColumn来显示您想要的任何内容。
如果您需要更多相关信息,请参阅Vincent Sibal's博客。