#1,072 – Adding Custom Triggers Related to Keyboard Focus
May 14, 2014 2 Comments
The default control template for the TextBox control changes the color of the Border around the control when the control gets focus. It does this by using a trigger hooked to the IsKeyboardFocused property.
You can add your own triggers related to keyboard focus by defining a custom property trigger. The XAML fragment below defines a new Style element that changes the Background of the control when IsKeyboardFocused is true.
<Window.Resources> <Style x:Key="HoneydewFocus" TargetType="TextBox"> <Style.Triggers> <Trigger Property="IsKeyboardFocused" Value="true"> <Setter Property="Background" Value="Honeydew"/> </Trigger> </Style.Triggers> </Style> </Window.Resources> <StackPanel> <TextBox Margin="5" Width="80" Style="{StaticResource HoneydewFocus}"/> <TextBox Margin="5" Width="80" Style="{StaticResource HoneydewFocus}"/> <Button Content="Click Me" HorizontalAlignment="Center" Padding="12,5" Margin="5" /> </StackPanel>
As we tab between the two TextBox controls, the one with keyboard focus will have a Honeydew-colored background, as well as the default blue border.