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>
 类似资料: