在TextBlock中使用超链接

时间:2014-11-05 09:51:07

标签: c# xaml windows-phone-8

下面的代码

<TextBlock FontFamily="Arial" Width="450"
    Text="Posted In" Foreground="Red"
    TextAlignment="Left" TextWrapping="Wrap">
    <Run Foreground="Red" Text="{Binding CategoryName}"></Run>
    <Run Foreground="Red" Text="{Binding CreatedOn}"></Run>
    <LineBreak/>
    <LineBreak/>
    <Run
        Foreground="Black"
        FontSize="24"
        Text="{Binding ArticleDescription}"></Run>
    <LineBreak/>
    <LineBreak/>
    <Run Foreground="Red" Text="Posted By"></Run>
    <Run Foreground="Red" Text="{Binding CreatedBy}"></Run>
    <Hyperlink Foreground="Red">sadas</Hyperlink>
</TextBlock>

基本上我使用此代码如果我使用超链接它会崩溃应用程序。如果我不使用超链接,应用程序工作完全正常。如何在文本块中使用超链接?

错误讯息:

  

错误HRESULT E_FAIL已从调用COM组件返回。

3 个答案:

答案 0 :(得分:2)

在HyperLink类中设置NavigateUri属性(即HyperLink控件)。更多http://msdn.microsoft.com/en-us/library/system.windows.documents.hyperlink(v=vs.110).aspx

答案 1 :(得分:0)

这是示例代码

 <TextBlock x:Name="txtSource"  Text="abc"  Tap="LinkClicked" />

并且在LinkClicked事件后面的代码中放了这个

  private void LinkClicked(object sender, System.Windows.Input.GestureEventArgs e)
    {


                        string url = "http://google.com";
                        WebBrowserTask wbt = new WebBrowserTask();
                        wbt.Uri = new Uri(url);
                        wbt.Show();
        }

希望这就是你在哪里寻找

答案 2 :(得分:0)

您可以使用RichtextBox ether然后使用文本框

<RichTextBox TextWrapping="Wrap">
    <Paragraph>
        <Run Text="John Doe" />
        <LineBreak />
        <Run Text="503 (Building DS 126)" />
        <LineBreak />
        <Run Text="tel.:  +30 210-1234567" />
        <LineBreak />
        <Hyperlink Click="Hyperlink_OnClick">e-mail:   johndoe@uni.gr</Hyperlink>
    </Paragraph>
</RichTextBox>