title: How to change foreground on default RadRadioButton
body: <p>I'm trying to style my <em>RadRadioButton</em>'s based on the default style for <code>RadRadioButton</code>:</p>
  
  <pre><code>&lt;Style x:Key="MyRadRadioButtonStyle" TargetType="{x:Type telerik:RadRadioButton}"&gt;
      &lt;Setter Property="BorderThickness" Value="1"/&gt;
      &lt;Setter Property="Foreground" Value="Black"/&gt;
      &lt;Setter Property="Background"&gt;
          &lt;Setter.Value&gt;
              &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
                  &lt;GradientStop Color="White" Offset="0"/&gt;
                  &lt;GradientStop Color="Gainsboro" Offset="0.5"/&gt;
                  &lt;GradientStop Color="#FFADADAD" Offset="0.5"/&gt;
                  &lt;GradientStop Color="#FFD4D4D4" Offset="1"/&gt;
              &lt;/LinearGradientBrush&gt;
          &lt;/Setter.Value&gt;
      &lt;/Setter&gt;
      &lt;Setter Property="BorderBrush" Value="#FF848484"/&gt;
      &lt;Setter Property="CornerRadius" Value="1"/&gt;
      &lt;Setter Property="Padding" Value="3"/&gt;
      &lt;Setter Property="HorizontalContentAlignment" Value="Center"/&gt;
      &lt;Setter Property="VerticalContentAlignment" Value="Center"/&gt;
      &lt;Setter Property="FocusVisualStyle" Value="{x:Null}"/&gt;
      &lt;Setter Property="Template"&gt;
          &lt;Setter.Value&gt;
              &lt;ControlTemplate TargetType="{x:Type telerik:RadRadioButton}"&gt;
                  &lt;Grid SnapsToDevicePixels="True"&gt;
                      &lt;VisualStateManager.VisualStateGroups&gt;
                          &lt;VisualStateGroup x:Name="CommonStates"&gt;
                              &lt;VisualState x:Name="Normal"/&gt;
                              &lt;VisualState x:Name="MouseOver"&gt;
                                  &lt;Storyboard&gt;
                                      &lt;DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="OuterMouseOverBorder"/&gt;
                                  &lt;/Storyboard&gt;
                              &lt;/VisualState&gt;
                              &lt;VisualState x:Name="Pressed"&gt;
                                  &lt;Storyboard&gt;
                                      &lt;ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="OuterPressedBorder"&gt;
                                          &lt;DiscreteObjectKeyFrame KeyTime="0"&gt;
                                              &lt;DiscreteObjectKeyFrame.Value&gt;
                                                  &lt;Visibility&gt;Visible&lt;/Visibility&gt;
                                              &lt;/DiscreteObjectKeyFrame.Value&gt;
                                          &lt;/DiscreteObjectKeyFrame&gt;
                                      &lt;/ObjectAnimationUsingKeyFrames&gt;
                                      &lt;DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="CommonStatesWrapper"/&gt;
                                      &lt;DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="FocusVisual"/&gt;
                                  &lt;/Storyboard&gt;
                              &lt;/VisualState&gt;
                              &lt;VisualState x:Name="Disabled"&gt;
                                  &lt;Storyboard&gt;
                                      &lt;ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledVisual"&gt;
                                          &lt;DiscreteObjectKeyFrame KeyTime="0"&gt;
                                              &lt;DiscreteObjectKeyFrame.Value&gt;
                                                  &lt;Visibility&gt;Visible&lt;/Visibility&gt;
                                              &lt;/DiscreteObjectKeyFrame.Value&gt;
                                          &lt;/DiscreteObjectKeyFrame&gt;
                                      &lt;/ObjectAnimationUsingKeyFrames&gt;
                                      &lt;DoubleAnimation Duration="0" To="0.5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Content"/&gt;
                                  &lt;/Storyboard&gt;
                              &lt;/VisualState&gt;
                              &lt;VisualState x:Name="DisabledChecked"&gt;
                                  &lt;Storyboard&gt;
                                      &lt;DoubleAnimation Duration="0" To="0.5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Content"/&gt;
                                  &lt;/Storyboard&gt;
                              &lt;/VisualState&gt;
                              &lt;VisualState x:Name="MouseOverChecked"&gt;
                                  &lt;Storyboard&gt;
                                      &lt;ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Background" Storyboard.TargetName="CheckedVisual"&gt;
                                          &lt;DiscreteObjectKeyFrame KeyTime="0"&gt;
                                              &lt;DiscreteObjectKeyFrame.Value&gt;
                                                  &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
                                                      &lt;GradientStop Color="#FFFFE8AB" Offset="0"/&gt;
                                                      &lt;GradientStop Color="#FFFFE08F" Offset="0.5"/&gt;
                                                      &lt;GradientStop Color="#FFFEAF27" Offset="0.5"/&gt;
                                                      &lt;GradientStop Color="#FFFFE74E" Offset="1"/&gt;
                                                  &lt;/LinearGradientBrush&gt;
                                              &lt;/DiscreteObjectKeyFrame.Value&gt;
                                          &lt;/DiscreteObjectKeyFrame&gt;
                                      &lt;/ObjectAnimationUsingKeyFrames&gt;
                                      &lt;ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="CheckedVisual"&gt;
                                          &lt;DiscreteObjectKeyFrame KeyTime="0"&gt;
                                              &lt;DiscreteObjectKeyFrame.Value&gt;
                                                  &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
                                                      &lt;GradientStop Color="#FF282828"/&gt;
                                                      &lt;GradientStop Color="#FF5F5F5F" Offset="1"/&gt;
                                                  &lt;/LinearGradientBrush&gt;
                                              &lt;/DiscreteObjectKeyFrame.Value&gt;
                                          &lt;/DiscreteObjectKeyFrame&gt;
                                      &lt;/ObjectAnimationUsingKeyFrames&gt;
                                      &lt;ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="InnerCheckedVisual"&gt;
                                          &lt;DiscreteObjectKeyFrame KeyTime="0"&gt;
                                              &lt;DiscreteObjectKeyFrame.Value&gt;
                                                  &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
                                                      &lt;GradientStop Color="#FFB69A78"/&gt;
                                                      &lt;GradientStop Color="#FFFFE17A" Offset="0.169"/&gt;
                                                  &lt;/LinearGradientBrush&gt;
                                              &lt;/DiscreteObjectKeyFrame.Value&gt;
                                          &lt;/DiscreteObjectKeyFrame&gt;
                                      &lt;/ObjectAnimationUsingKeyFrames&gt;
                                  &lt;/Storyboard&gt;
                              &lt;/VisualState&gt;
                          &lt;/VisualStateGroup&gt;
                          &lt;VisualStateGroup x:Name="BackgroundVisibility"&gt;
                              &lt;VisualState x:Name="BackgroundIsHidden"&gt;
                                  &lt;Storyboard&gt;
                                      &lt;ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="OuterBorder"&gt;
                                          &lt;DiscreteObjectKeyFrame KeyTime="0"&gt;
                                              &lt;DiscreteObjectKeyFrame.Value&gt;
                                                  &lt;Visibility&gt;Collapsed&lt;/Visibility&gt;
                                              &lt;/DiscreteObjectKeyFrame.Value&gt;
                                          &lt;/DiscreteObjectKeyFrame&gt;
                                      &lt;/ObjectAnimationUsingKeyFrames&gt;
                                      &lt;DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="DisabledVisual"/&gt;
                                  &lt;/Storyboard&gt;
                              &lt;/VisualState&gt;
                              &lt;VisualState x:Name="BackgroundIsVisible"/&gt;
                          &lt;/VisualStateGroup&gt;
                          &lt;VisualStateGroup x:Name="CheckStates"&gt;
                              &lt;VisualState x:Name="Checked"&gt;
                                  &lt;Storyboard&gt;
                                      &lt;DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="CheckedVisual"/&gt;
                                  &lt;/Storyboard&gt;
                              &lt;/VisualState&gt;
                              &lt;VisualState x:Name="Unchecked"/&gt;
                          &lt;/VisualStateGroup&gt;
                          &lt;VisualStateGroup x:Name="FocusStatesGroup"&gt;
                              &lt;VisualState x:Name="Unfocused"&gt;
                                  &lt;Storyboard&gt;
                                      &lt;ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="FocusVisual"&gt;
                                          &lt;DiscreteObjectKeyFrame KeyTime="0:0:0.15"&gt;
                                              &lt;DiscreteObjectKeyFrame.Value&gt;
                                                  &lt;Visibility&gt;Collapsed&lt;/Visibility&gt;
                                              &lt;/DiscreteObjectKeyFrame.Value&gt;
                                          &lt;/DiscreteObjectKeyFrame&gt;
                                      &lt;/ObjectAnimationUsingKeyFrames&gt;
                                  &lt;/Storyboard&gt;
                              &lt;/VisualState&gt;
                              &lt;VisualState x:Name="Focused"&gt;
                                  &lt;Storyboard&gt;
                                      &lt;ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="FocusVisual"&gt;
                                          &lt;DiscreteObjectKeyFrame KeyTime="0:0:0.115"&gt;
                                              &lt;DiscreteObjectKeyFrame.Value&gt;
                                                  &lt;Visibility&gt;Visible&lt;/Visibility&gt;
                                              &lt;/DiscreteObjectKeyFrame.Value&gt;
                                          &lt;/DiscreteObjectKeyFrame&gt;
                                      &lt;/ObjectAnimationUsingKeyFrames&gt;
                                  &lt;/Storyboard&gt;
                              &lt;/VisualState&gt;
                          &lt;/VisualStateGroup&gt;
                      &lt;/VisualStateManager.VisualStateGroups&gt;
                      &lt;Border x:Name="OuterBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="{TemplateBinding CornerRadius}"&gt;
                          &lt;Border BorderBrush="White" BorderThickness="{TemplateBinding BorderThickness}" Background="{x:Null}" CornerRadius="{TemplateBinding InnerCornerRadius}"/&gt;
                      &lt;/Border&gt;
                      &lt;Border x:Name="OuterMouseOverBorder" BorderBrush="#FFFFC92B" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" Opacity="0"&gt;
                          &lt;Border.Background&gt;
                              &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
                                  &lt;GradientStop Color="#FFFFFBDA" Offset="0"/&gt;
                                  &lt;GradientStop Color="#FFFEEBAE" Offset="0.5"/&gt;
                                  &lt;GradientStop Color="#FFFFD25A" Offset="0.5"/&gt;
                                  &lt;GradientStop Color="#FFFFFBA3" Offset="1"/&gt;
                              &lt;/LinearGradientBrush&gt;
                          &lt;/Border.Background&gt;
                          &lt;Border BorderBrush="White" BorderThickness="{TemplateBinding BorderThickness}" Background="{x:Null}" CornerRadius="{TemplateBinding InnerCornerRadius}"/&gt;
                      &lt;/Border&gt;
                      &lt;Border x:Name="OuterPressedBorder" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" Visibility="Collapsed"&gt;
                          &lt;Border.BorderBrush&gt;
                              &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
                                  &lt;GradientStop Color="#FF282828"/&gt;
                                  &lt;GradientStop Color="#FF5F5F5F" Offset="1"/&gt;
                              &lt;/LinearGradientBrush&gt;
                          &lt;/Border.BorderBrush&gt;
                          &lt;Border.Background&gt;
                              &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
                                  &lt;GradientStop Color="#FFFFDCAB" Offset="0"/&gt;
                                  &lt;GradientStop Color="#FFFFD18F" Offset="0.5"/&gt;
                                  &lt;GradientStop Color="#FFFE9227" Offset="0.5"/&gt;
                                  &lt;GradientStop Color="#FFFFBA74" Offset="0"/&gt;
                              &lt;/LinearGradientBrush&gt;
                          &lt;/Border.Background&gt;
                          &lt;Border BorderThickness="{TemplateBinding BorderThickness}" Background="{x:Null}" CornerRadius="{TemplateBinding InnerCornerRadius}"&gt;
                              &lt;Border.BorderBrush&gt;
                                  &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
                                      &lt;GradientStop Color="#FFB69A78"/&gt;
                                      &lt;GradientStop Color="#FFFFE17A" Offset="0.126"/&gt;
                                  &lt;/LinearGradientBrush&gt;
                              &lt;/Border.BorderBrush&gt;
                          &lt;/Border&gt;
                      &lt;/Border&gt;
                      &lt;Border x:Name="DisabledVisual" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="#FFE0E0E0" CornerRadius="{TemplateBinding CornerRadius}" Visibility="Collapsed"/&gt;
                      &lt;Grid x:Name="CommonStatesWrapper"&gt;
                          &lt;Border x:Name="FocusVisual" BorderBrush="#FFFFC92B" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" CornerRadius="{TemplateBinding CornerRadius}" Visibility="Collapsed"&gt;
                              &lt;Border x:Name="FocusInnerVisual" BorderBrush="Transparent" BorderThickness="1" Background="{x:Null}" CornerRadius="{TemplateBinding InnerCornerRadius}"/&gt;
                          &lt;/Border&gt;
                          &lt;Border x:Name="CheckedVisual" BorderBrush="#FFFFC92B" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" Opacity="0"&gt;
                              &lt;Border.Background&gt;
                                  &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
                                      &lt;GradientStop Color="#FFFFDCAB" Offset="0"/&gt;
                                      &lt;GradientStop Color="#FFFFD18F" Offset="0.5"/&gt;
                                      &lt;GradientStop Color="#FFFE9227" Offset="0.5"/&gt;
                                      &lt;GradientStop Color="#FFFFD74E" Offset="1"/&gt;
                                  &lt;/LinearGradientBrush&gt;
                              &lt;/Border.Background&gt;
                              &lt;Border x:Name="InnerCheckedVisual" BorderBrush="White" BorderThickness="{TemplateBinding BorderThickness}" Background="{x:Null}" CornerRadius="{TemplateBinding InnerCornerRadius}"/&gt;
                          &lt;/Border&gt;
                      &lt;/Grid&gt;
                      &lt;ContentPresenter x:Name="Content" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/&gt;
                  &lt;/Grid&gt;
              &lt;/ControlTemplate&gt;
          &lt;/Setter.Value&gt;
      &lt;/Setter&gt;
  &lt;/Style&gt;
  </code></pre>
  
  <p>Say I, for instance, would make a dark background for the <em>Checked</em> state, how can I change the button to have a white foreground (text color) in this state?</p>
  
  <p><strong>EDIT1</strong></p>
  
  <p>Based on <em>Chris W.</em>'s comment, I've added a <code>ColorAnimation</code> to this <em>CheckStates</em> <em>VIsualStateGroup</em>:</p>
  
  <pre><code>&lt;VisualStateGroup x:Name="CheckStates"&gt;
      &lt;VisualState x:Name="Checked"&gt;
          &lt;Storyboard&gt;
              &lt;DoubleAnimation Duration="0" Storyboard.TargetName="CheckedVisual"
                               Storyboard.TargetProperty="Opacity" To="1" /&gt;
              &lt;ColorAnimation Storyboard.TargetName="FontColor" Storyboard.TargetProperty="Color" To="White" Duration="0:0:0" /&gt;
          &lt;/Storyboard&gt;
      &lt;/VisualState&gt;
      &lt;VisualState x:Name="Unchecked" /&gt;
  &lt;/VisualStateGroup&gt;
  </code></pre>
  
  <p>But that does not work, it gives me this error:</p>
  
  <p><a href="https://i.stack.imgur.com/YkxbG.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/YkxbG.png" alt="compile error"></a></p>
  
  <p><strong>EDIT2</strong></p>
  
  <p>I changed to this based on new comment:</p>
  
  <pre><code>&lt;VisualStateGroup x:Name="CheckStates"&gt;
      &lt;VisualState x:Name="Checked"&gt;
          &lt;Storyboard&gt;
              &lt;DoubleAnimation Duration="0" Storyboard.TargetName="CheckedVisual"
                               Storyboard.TargetProperty="Opacity" To="1" /&gt;
              &lt;ColorAnimation Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground" To="White" Duration="0:0:0" /&gt;
          &lt;/Storyboard&gt;
      &lt;/VisualState&gt;
      &lt;VisualState x:Name="Unchecked" /&gt;
  &lt;/VisualStateGroup&gt;
  </code></pre>
  
  <p>But now I got this error:</p>
  
  <p><a href="https://i.stack.imgur.com/ONlgC.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ONlgC.png" alt="compile error"></a></p>