1. ホーム
  2. wpf

[解決済み] wpfのリンクボタン

2023-03-04 09:15:59

質問

どうすればButtonをLinkButtonのように見せることができるでしょうか。 ハイパーリンクは使いたくありません...!

何か提案はありますか?

どのように解決するのですか?

もし、通常のボタンのスタイルが必要なく、ハイパーリンクのように見えるものが必要なら、次のように始めることができます。

<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>

以下は、スタイルと同じです。

<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>

で、こんな風に使うことができます。

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