tags:

views:

51

answers:

1

Hello... I have a style which underlines the textblock when it is mouseovered... How ever i need when it is clicked to change its font weight to bold(selected).. any idea?

+2  A: 

Code example of what dnr3 said, a templated ToggleButton

<Style x:Key="BoldWhenClickedTextBlock" TargetType="ToggleButton" BasedOn="{StaticResource {x:Type ToggleButton}}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ToggleButton">
                <TextBlock x:Name="c_toggleButtonTextBlock" Text="{Binding RelativeSource={RelativeSource AncestorType={x:Type ToggleButton}}, Path=Content}"/>
                <ControlTemplate.Triggers>
                    <Trigger Property="ToggleButton.IsMouseOver" Value="True">
                        <Setter TargetName="c_toggleButtonTextBlock" Property="TextDecorations" Value="Underline"/>
                    </Trigger>
                    <Trigger Property="ToggleButton.IsChecked" Value="True">
                        <Setter TargetName="c_toggleButtonTextBlock" Property="FontWeight" Value="Bold" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

And then the "TextBlock" ToggleButton can use this with

<ToggleButton Style="{StaticResource BoldWhenClickedTextBlock}" Content="My Text.."/>  
Meleak