如何使WPF按钮看起来像一个链接? - 代码日志

如何使WPF按钮看起来像一个链接?

我想使用像链接样式的WPF中的按钮。 Microsoft在Windows对话框中执行此操作(看似不一致)。

他们看起来像蓝色的文字。当鼠标光标悬停时,更改颜色并下划线。

例:

我得到它的工作(谢谢ChristianAnderson ImesMichaC)但是,我不得不在我的按钮里放一个TextBlock。

如何改善我的风格 – 使其工作,而不需要我的按钮中的TextBlock?

用法XAML

<Button Style="{StaticResource HyperlinkLikeButton}">
    <TextBlock>Edit</TextBlock>
</Button>

风格XAML

<Style x:Key="HyperlinkLikeButton" TargetType="Button">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <ContentPresenter />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HotTrackBrushKey}}" />
    <Setter Property="Cursor" Value="Hand" />
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="true">
            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <ControlTemplate.Resources>
                            <Style TargetType="{x:Type TextBlock}">
                                <Setter Property="TextDecorations" Value="Underline" />
                            </Style>
                        </ControlTemplate.Resources>
                        <ContentPresenter />
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Trigger>
    </Style.Triggers>
</Style>
你知道有一个Hyperlink类/标签吗?它看起来像一个超链接,也可以作为按钮(可以使用URI和/或命令和/或点击事件)。

编辑:

使用示例:

<TextBlock>                                
    <Hyperlink Command="{Binding SomeCommand, ElementName=window}" CommandParameter="{Binding}">Link
    </Hyperlink>
</TextBlock>
http://stackoverflow.com/questions/5122334/how-do-i-make-a-wpf-button-look-like-a-link

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何使WPF按钮看起来像一个链接?