如何在UWP中使文本块内容超链接?

时间:2018-10-02 14:38:33

标签: uwp uwp-xaml

我在UWP文本块中有“电子邮件ID”,我如何使其成为“超链接”,所以当我单击它时,它应该带我到Outlook \ email。

下面是代码

public string EmailID
{
    get => _emailID;
    set
    {
        _emailID = value;
        OnPropertyChanged("EmailID");
    }
}

XAML:

<TextBlock DataContext="{StaticResource Email}" 
    Text="{Binding List.EmailID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

我需要使用HyperlinkBut​​ton代替Textblock吗?

2 个答案:

答案 0 :(得分:1)

您可以使用HyperLinks

NavigateUri中的HyperLink设置为邮件uri,如下所示:

<TextBlock>
    <Hyperlink NavigateUri="mailto:thisismuzib@gmail.com"> Email me human</Hyperlink>
</TextBlock>

或者您可以将其绑定到后端字符串,只要该字符串以“ mailto:”开头,如下所示:

TextBlock>
    <Hyperlink NavigateUri="{x:Bind myuri}">Email</Hyperlink>
</TextBlock>

并说明其后端:

string myuri = "mailto:whatever@outlook.com";

答案 1 :(得分:0)

谢谢大家,下面的方法可以帮助我解决

<HyperlinkButton    NavigateUri="{Binding List.EmailLink}" 
Style="{StaticResource ResourceKey=HyperlinkStyle}" Content="{Binding List.Email}" />

属性:

public string EmailLink {get { return "mailto:" + _email; }set { }}

public string Email {get => _email;set{_email = value;}}