【问题标题】:How to make textblock content to Hyperlink in UWP?如何在 UWP 中将文本块内容制作为超链接?
【发布时间】:2018-10-02 14:38:33
【问题描述】:

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

下面是代码

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 吗?

【问题讨论】:

    标签: uwp uwp-xaml


    【解决方案1】:

    您可以使用HyperLinks

    HyperLinkNavigateUri 设置为邮件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";

    【讨论】:

    • 如果您要绑定的属性是 Uri 或格式化字符串,这将起作用。
    • nope.. 这适用于普通字符串,前提是,正如我所说,它以 mailto: 开头。我已经检查过了。
    • 在开头加上“mailto:”就是格式化。 ?
    【解决方案2】:

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

    <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;}}
    

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 2017-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      相关资源
      最近更新 更多