繁体   English   中英

在TextBlock中使用超链接

[英]Use hyperlink in a TextBlock

下面写的代码

<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组件的调用返回。

在HyperLink类(即HyperLink控件)中设置NavigateUri属性。 有关更多http://msdn.microsoft.com/zh-cn/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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM