从Windows应用商店应用中删除超链接下划线

时间:2014-05-28 11:29:21

标签: windows xaml windows-phone-8.1

我正在使用Xaml和C#为Windows Phone 8.1和Windows 8.1创建通用Windows运行时应用程序。

我有内联超链接设置如此 -

<TextBlock Width="400" TextWrapping="Wrap">
    <Span FontSize="20">
        This is an example of how Hyperlink can be used in a paragraph of text. It might be helpful for you look to
        <Hyperlink NavigateUri="http://www.bing.com">bing</Hyperlink> 
        for more answers in the future.
    </Span>
</TextBlock>

这将显示带有下划线的文本,指示可点击的超链接。但是我想按颜色指示超链接而不是下划线,因为我可以在TextBlock中有多个超链接。

我想从内联超链接中删除下划线 - 在WP 8.1和Windows 8.1 Store应用程序中不再存在TextDecorations属性。

注意*我使用的是超链接元素而非HyperlinkBut​​ton,因为我需要将链接与文本内联。

3 个答案:

答案 0 :(得分:1)

我会写评论,但我的声誉还不足以做到这一点。

我在win 8.1和win phone 8.1项目的空白处尝试了相同的代码。但是,默认情况下,超链接显示为颜色,而不是与项目相对的下划线。我的代码如下所示

    <TextBlock Width="400" TextWrapping="Wrap">
        <Span FontSize="20">
            This is an example of how Hyperlink can be used in a paragraph of text. It might be helpful for you look to
            <Hyperlink NavigateUri="http://www.bing.com" Foreground="#FF0007FF">bing</Hyperlink> 
            for more answers in the future.
        </Span>
    </TextBlock>

你可以试试Foreground属性吗?也许它可以帮助你。

答案 1 :(得分:1)

在Windows 8.1的最终版本中,Hyperlink-element没有下划线。也许混淆是由超链接周围的焦点边框引起的?所以XAML:

    <TextBlock Width="400" TextWrapping="Wrap" VerticalAlignment="Center">
        <Span FontSize="20">
            This is an example of how Hyperlink can be used in a paragraph of text. It might be helpful for you look to
            <Hyperlink NavigateUri="http://www.bing.com">bing</Hyperlink> 
            for more answers in the future.
        </Span>
    </TextBlock>

显示为:

No underlining

可以欺骗观众的一件事是,如果页面没有任何其他可聚焦项目,则超链接获得焦点并围绕它绘制边框。这可能看起来像下划线:

Hyperlink focus

如果你想摆脱这种情况,可以在页面顶部添加带有不透明度0的按钮。

如果要为超链接设置样式,可以使用以下键覆盖它:

        <SolidColorBrush x:Key="HyperlinkDisabledThemeBrush" Color="#66000000" />
        <SolidColorBrush x:Key="HyperlinkForegroundThemeBrush" Color="#FF4F1ACB" />
        <SolidColorBrush x:Key="HyperlinkPointerOverForegroundThemeBrush" Color="#CC4F1ACB" />
        <SolidColorBrush x:Key="HyperlinkPressedForegroundThemeBrush" Color="#994F1ACB" />

因此,如果您有以下App.xaml.cs:

<Application.Resources>
    <ResourceDictionary>
        <SolidColorBrush x:Key="HyperlinkForegroundThemeBrush" Color="Green" />
    </ResourceDictionary>
</Application.Resources>

您将获得绿色超链接:

Green hyperlink

如果您希望链接具有下划线,则可以使用Underline-元素。 XAML:

    <TextBlock Width="400" TextWrapping="Wrap" VerticalAlignment="Center">
        <Span FontSize="20">
            This is an example of how Hyperlink can be used in a paragraph of text. It might be helpful for you look to
            <Hyperlink NavigateUri="http://www.bing.com"><Underline>bing</Underline></Hyperlink> 
            for more answers in the future.
        </Span>
    </TextBlock>

结果:

Hyperlink underline

答案 2 :(得分:0)

我正在使用我的应用程序

<Hyperlink TextDecorations="None" ...></Hyperlink>

摆脱下划线。