代码之家  ›  专栏  ›  技术社区  ›  Venkat

如何在UWP中将文本块内容设置为超链接?

  •  0
  • Venkat  · 技术社区  · 6 年前

    我在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}"/>
    

    我需要使用超链接按钮而不是文本块吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Muzib hardyVeles    6 年前

    你可以使用 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";

        2
  •  0
  •   Venkat    6 年前

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

    <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;}}
    
    推荐文章