Button的类似超链接样式-LinkButton Style
阎扬
2023-12-01
实现方式一(只有单个按钮推荐)
<!--LinkButton Style [Start]-->
<Style x:Key="LinkButton" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Label Cursor="Hand" Foreground="#FF2D90EB">
<Underline><Run Text="Test"/></Underline>
</Label>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--LinkButton Style [End]-->
实现方式二(多个按钮推荐):
<!--LinkButton Style [Start]-->
<ControlTemplate x:Key="ctLinkButton" TargetType="{x:Type Button}">
<TextBlock TextDecorations="Underline">
<ContentPresenter />
</TextBlock>
</ControlTemplate>
<Style x:Key="styleLinkButton" TargetType="{x:Type Button}">
<Setter Property="Foreground" Value="Blue" />
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"/>
<Condition Property="IsFocused" Value="True"/>
<Condition Property="IsPressed" Value="True"/>
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="Red" />
</MultiTrigger>
</Style.Triggers>
</Style>
<!--LinkButton Style [End]-->
<Grid>
<Button Margin="5" Content="Test1" FontSize="18" Cursor="Hand" Template="{DynamicResource ctLinkButton}" Style="{DynamicResource styleLinkButton}"/>
<Button Margin="50" Content="Test2" FontSize="18" Cursor="Hand" Template="{DynamicResource ctLinkButton}" Style="{DynamicResource styleLinkButton}"/>
</Grid>