Silverlight HyperlinkBut​​ton只有内容可点击

时间:2014-03-28 15:20:13

标签: silverlight

我的页面上有一个HyperlinkBut​​ton,内容只是纯文本。 但是,正如您在下图中看到的,HyperlinkBut​​ton通常比实际内容更宽。 这可能令人困惑,因为人们只是在实际点击链接时才会发生某些事情。

如何将HyperlinkBut​​ton设为与内容一样宽,或仅将内容设为可点击? 我试过设置风格,但没有帮助。

感谢您的帮助。 Dominic Rooijackers

http://i.msdn.microsoft.com/dynimg/IC56092.png

1 个答案:

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

快乐学习.. !! :)