【问题标题】:Making URLs on a textblock clickable使文本块上的 URL 可点击
【发布时间】:2010-12-27 00:45:22
【问题描述】:

我正在编写一个小 Twitter 客户端只是为了好玩。我在TextBlock 上有推文的文本,我想让 URL 可点击。

我知道我必须使用正则表达式解析 URL,但是...我如何将文本加链接放在 TextBlock 上?

我不能有这样的字符串:Hello check my blog at <Hyperlink>http​://myblogurl.com</Hyperlink>,因为TextBlock 不解析标签。

那么,我怎样才能拥有一个可能有链接或没有链接的TextBlock?

谢谢。

【问题讨论】:

标签: c# wpf xaml hyperlink textblock


【解决方案1】:

您可以在后面的代码中解析字符串并构建内容控件集合,将您的文本块更改为换行面板并将面板的子项设置为您创建的集合。

【讨论】:

    【解决方案2】:

    类似...

    <TextBlock>
        <Hyperlink Name="btnOpen" Click="btnOpen_Click">
            <TextBlock Text="Click to Open" />
        </Hyperlink>
    </TextBlock>
    

    【讨论】:

      【解决方案3】:
      <RichTextBox  IsDocumentEnabled="True">
              <FlowDocument>
                <Paragraph>
                This is a richTextBox. And this is a <Hyperlink NavigateUri="http://www.microsoft.com">Hyperlink</Hyperlink>.
                </Paragraph>
              </FlowDocument>
        </RichTextBox>
      

      MSDN discussion

      【讨论】:

        【解决方案4】:

        与其使用 TextBlock,不如看看使用 WPF 版本的 RichTextBox。它是一种非常灵活的小动物。

        【讨论】:

          猜你喜欢
          • 2010-12-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-08
          • 1970-01-01
          • 1970-01-01
          • 2011-05-31
          • 1970-01-01
          相关资源
          最近更新 更多