1.-------------------------------------------------------------------------

修改超链接的文本文字:

<TextBlock><Hyperlink>

<TextBlock  x:Name="TextBlockNeedChange" Text="改变的文本" />

</Hyperlink></TextBlock>

修改TextBlockNeedChange.Text="xxxxx"即可;

2.-----------------------------------------------------------------------

原文:WPF中动态更新TextBlock文字中的超链接

在写小软件的时候突然用到需要对显示的文字动态更新,然后里面还有超链接,在普通的winform里面好

像有Linklabel,但是wpf中没找到,反正看到有Textblock里添加超链接的例子,就尝试的改了下,但是对于

超链接的更新始终没找到好方法,偶然翻着MSDN找到了自己需要的例子,现在就记录下来方便自己以后查看

了!
    下面介绍在wpf工程中,首先通过XAML添加TextBlock控件以及超链接,而后在控制程序中动态更新文字

和超链接内容,遗憾是还没有达到动态的增加超链接个数,没有去尝试,应该也是可以的。
    (1)通过XAML添加TextBlock控件以及超链接
     wpf窗体中的Grid容器中给TextBlock划分出位置,然后拖入控件,下面是摘出的代码
<TextBlock Name="navigateTextBlock"

Margin="14,0,0,5" Grid.Row="1"

TextWrapping="Wrap"

Foreground="Yellow">    
         <Hyperlink Name="hyperlink0" Click="hyperlink0_Click"   NavigateUri="

http://www.qq.com" Foreground="Yellow"> 超链接www.qq.com</Hyperlink>
         <LineBreak ></LineBreak>
</TextBlock>
    这样在窗体中显示“超链接www.qq.com”,指向的地址www.qq.com。至于颜色和分隔线就没必要说了。
    (2)在控制程序中动态更新文字和超链接内容
    在控制程序中动态更新文字很简单,navigateTextBlock.Text="",就可以设置所需要的文本了;就是动

态更新超链接有点麻烦,但是只要你熟悉Hyperlink类,也是很简单的。在MSDN中对于Hyperlink 类有如下的

示例代码:
Paragraph parx = new Paragraph();
Run run1 = new Run("Text preceeding the hyperlink.");
Run run2 = new Run("Text following the hyperlink.");
Run run3 = new Run("Link Text.");

Hyperlink hyperl = new Hyperlink(run3);
hyperl.NavigateUri = new Uri("http://search.msn.com");

parx.Inlines.Add(run1);
parx.Inlines.Add(hyperl);
parx.Inlines.Add(run2);
可以看到对该类的使用,因此按照这种方式可以对TextBlock中的Hyperlink对象进行修改更新,如下
            Run runTextTemp=new Run (text );
            hpHost.Inlines.Clear();
            hpHost.Inlines.Add(runTextTemp);
            hpHost.NavigateUri = new Uri(hplink);
    写完了发现真的很简单,可是自己对这些都不太熟悉,第一次用都是现找,现学现用。其实最初自己只

是想直接通过Frame类来显示网页的,后来因为自己采用的可变窗体,导致网页不能正常显示,因此只好自己

提取出文字和超链接进行显示了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. springmvc 表单字段list提交问题
  2. UTF-8 带签名和不带签名的区别
  3. Kinect学习笔记(六)&mdash;&mdash;深度数据测量技术及应用
  4. JavaScript的事件对象_鼠标事件
  5. 极客范:如何使用 Cloud Insight 来监控闭路电视?
  6. Struts2国际化文件乱码解决
  7. chrome浏览的下载扩展程序
  8. Oracle 表的常见操作
  9. 大约sources.list和apt-get [转载]
  10. live555 for Android
  11. IE中使用ajaxSubmit上传文件弹出下载提示框
  12. 第二章:JavaScript对象
  13. Web office apps 安装部署
  14. Mybatis 系列5
  15. zabbix的自动发现、自定义添加监控项目、配置邮件告警
  16. BZOJ 3561 DZY Loves Math VI
  17. Linux 系统下安装 python-skimage
  18. 程序设计第二次作业&lt;2&gt;
  19. 《算法》BEYOND 部分程序 part 1
  20. 使用Doxygen生成C#帮助文档

热门文章

  1. soap和http(转)
  2. Oracle select 中case 的使用以及使用decode替换case
  3. NOI十连测 第四测 T1
  4. LeetCode_Letter Combinations of a Phone Number
  5. KEIL C51中const和code的使用
  6. windows 7 系统进程服务详解
  7. 健康管理app要注意哪些要点
  8. LeeCode(Database)-Combine Two Tables
  9. hdu 5610 Baby Ming and Weight lifting
  10. mysql开启慢查询日志