在文本块中使用超链接

本文关键字:超链接 文本 | 更新日期: 2023-09-27 18:29:08

下面的代码

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

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

错误消息:

对COM组件的调用返回错误HRESULT E_FAIL。

在文本块中使用超链接

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

这里是示例代码

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

希望这就是你在哪里寻找

您可以使用RichtextBox乙醚,然后使用textbox

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