我的页面上有一个HyperlinkButton,内容只是纯文本。 但是,正如您在下图中看到的,HyperlinkButton通常比实际内容更宽。 这可能令人困惑,因为人们只是在实际点击链接时才会发生某些事情。
如何将HyperlinkButton设为与内容一样宽,或仅将内容设为可点击? 我试过设置风格,但没有帮助。
感谢您的帮助。 Dominic Rooijackers
答案 0 :(得分:0)
欢迎来到stackoverflow .. !!
对于你的问题,我会说你正在使用风格的正确轨道。你要做的就是从默认的超链接样式中删除视觉状态,并删除不必要的超链接元素。您可以使用Expression Blend在几分钟内完成此操作。现在我正在让你的生活更轻松。您可以使用以下样式的超链接继续。
<Style x:Key="ContentPresenterStyle1" TargetType="ContentPresenter"/>
<Style x:Key="HyperlinkButtonStyle1" TargetType="HyperlinkButton">
<Setter Property="Foreground" Value="#FF73A9D8"/>
<Setter Property="Padding" Value="2,0,2,0"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="HyperlinkButton">
<Grid Background="{TemplateBinding Background}" Cursor="{TemplateBinding Cursor}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="Pressed"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<VisualStateManager.CustomVisualStateManager>
<ei:ExtendedVisualStateManager/>
</VisualStateManager.CustomVisualStateManager>
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Style="{StaticResource ContentPresenterStyle1}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
快乐学习.. !! :)