Если вы хотите изменить цвет переднего плана и фона флажка, вам нужно обновить его стиль. В стиле по умолчанию он устанавливает разные передний план и фон в разных состояниях (например, не отмечен или отмечен, и т. Д. c). Вам нужно переопределить визуальное состояние, которое вам нужно. Например, вы можете изменить передний план и фон в состоянии « UncheckedNormal ».
<VisualState x:Name="UncheckedNormal">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="White"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="Blue"/>
</ObjectAnimationUsingKeyFrames>
......
</Storyboard>
</VisualState>
Когда флажок установлен, вы хотите изменить цвет, вам нужно только сделать аналогичное поведение в состоянии « CheckedNormal ».
<VisualState x:Name="CheckedNormal">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="Yellow"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="Red"/>
</ObjectAnimationUsingKeyFrames>
......
</Storyboard>
</VisualState>
//Apply
<CheckBox x:Name="Checkbox"
Foreground="Blue"
Style="{StaticResource CheckBoxStyle1}"
Content="I aggere"
HorizontalAlignment="Left" Margin="50,480,0,0" VerticalAlignment="Top" Height="46" Width="938"
FontFamily="Arial"
Checked="Checkbox_Checked"
Background="#FF009FE3" />
Вы можете получить полный стиль, щелкнув правой кнопкой мыши CheckBox в визуальном конструкторе, а затем нажмите «Изменить шаблон» -> «Редактировать». копировать. Это создаст шаблон по умолчанию для CheckBox. С полностью измененным стилем вы можете ссылаться здесь .
Кроме того, если вы просто хотите изменить передний план текста, вы можете просто создать текстовый блок в флажке и напрямую установить его передний план.
<CheckBox x:Name="Checkbox"
HorizontalAlignment="Left" Margin="50,480,0,0" VerticalAlignment="Top" Height="46" Width="938"
FontFamily="Arial"
Checked="Checkbox_Checked">
<TextBlock Foreground="Yellow">hello</TextBlock>
</CheckBox>