Search code examples
wpfwpf-controls

Link button in wpf


How can I make Button to look like LinkButton, and I don't want to use Hyperlink...!!

Any suggestions


Solution

  • If you don't want any of the normal Button style and just want something that looks like a hyperlink you could start with this

    <Button Margin="5" Content="Test" Cursor="Hand">
        <Button.Template>
            <ControlTemplate TargetType="Button">
                <TextBlock TextDecorations="Underline">
                    <ContentPresenter />
                </TextBlock>
            </ControlTemplate>
        </Button.Template>
        <Button.Style>
            <Style TargetType="Button">
                <Setter Property="Foreground" Value="Blue" />
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="true">
                        <Setter Property="Foreground" Value="Red" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>
    

    Here's the same as a style:

    <Style
        x:Key="LinkButton"
        TargetType="Button">
        <Setter
            Property="Template">
            <Setter.Value>
                <ControlTemplate
                    TargetType="Button">
                    <TextBlock
                        TextDecorations="Underline">
                    <ContentPresenter /></TextBlock>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Setter
            Property="Foreground"
            Value="Blue" />
        <Style.Triggers>
            <Trigger
                Property="IsMouseOver"
                Value="true">
                <Setter
                    Property="Foreground"
                    Value="Red" />
            </Trigger>
        </Style.Triggers>
    </Style>
    

    and you can use it like this:

    <Button Style="{StaticResource LinkButton}" Content="Clicky" />