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类来显示网页的,后来因为自己采用的可变窗体,导致网页不能正常显示,因此只好自己

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

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

WPF中动态更新TextBlock文字中的超链接,文本的更多相关文章

  1. Android中动态更新ListView(转)

    在使用ListView时,会遇到当ListView列表滑动到最底端时,添加新的列表项的问题,本文通过代码演示如何动态的添加新的列表项到ListView中.实现步骤:调用ListView的setOnSc ...

  2. 使用命令动态更新JAR包中的文件

    动态更新JAR包中的文件,经本人实际测试可正常执行! 一.查询jar包中要替换的文件位置 jar  -tvf  gateway.jar  |  grep  topjui.config.js 二.在当前 ...

  3. WPF中动态加载XAML中的控件

    原文:WPF中动态加载XAML中的控件 using System; using System.Collections.Generic; using System.Linq; using System. ...

  4. 基于Python实现matplotlib中动态更新图片(交互式绘图)

    最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和mat ...

  5. spring security中动态更新用户的权限

    在程序的执行过程中,有时有这么一种需求,需要动态的更新某些角色的权限或某些人对应的权限,当前在线的用户拥有这个角色或拥有这个权限时,在不退出系统的情况下,需要动态的改变的他所拥有的权限. 需求:张三 ...

  6. Android中动态更新TextView上的文字

    示例代码: 1.新线程,定时更新文字 class testThread extends Thread{ public void run() { Message message = new Messag ...

  7. JS动态更新微信浏览器中的title

    问题: 最近在做一个微信中分享的宣传页,分不同的场景,切换不同的场景时需要设置不同的title,实现的方案很简单,当用户切换场景的时候,修改document对象的title属性,可是在实际测试中,io ...

  8. ASP.NET程序中动态修改web.config中的设置项目(后台CS代码)

    using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Dra ...

  9. 分别在javascript和JSP中动态设置下拉列表默认值

    一.JavaScript中动态设置select标签中<option>选项的默认值: 比如,要完成下边这个下拉列表的动态显示,并且当进行前后翻页时,下拉列表中的值自动更新为当前页码: 图1 ...

随机推荐

  1. LeetCode_Longest Consecutive Sequence

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...

  2. TEA加密算法的C/C++实现

    TEA(Tiny Encryption Algorithm) 是一种简单高效的加密算法,以加密解密速度快,实现简单著称.算法真的很简单,TEA算法每一次可以操作64-bit(8-byte),采用128 ...

  3. T-SQL 脚本

    1.USE语句 USE语句用于设置当前数据库,如果没有USE语句,那么就由执行脚本的任何用户来确定执行脚本时当前数据库是正确的.如果只是一个通用脚本,那么省去USE语句实际上可能更有益.通常,如果在脚 ...

  4. SQL Server 索引的自动维护 <第十三篇>

    在有大量事务的数据库中,表和索引随着时间的推移而碎片化.因此,为了增进性能,应该定期检查表和索引的碎片,并对具有大量碎片的进行整理. 1.确定当前数据库中所有需要分析碎片的表. 2.确定所有表和索引的 ...

  5. X windows的底层实现机制

    Qt在Linux上运行崩溃了,很可能的原因是对于X11机制的不了解.很可能是UI代码里面对窗口的操作不规范而导致Qt内部的BUG暴露出来.具体UI实现代码我也没有看.是别人维护的.打算今天去看下代码, ...

  6. cf478A Initial Bet

    A. Initial Bet time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  7. Binary Tree Paths 解答

    Question Given a binary tree, return all root-to-leaf paths. For example, given the following binary ...

  8. Intersection of Two Linked Lists 解答

    Question Write a program to find the node at which the intersection of two singly linked lists begin ...

  9. 在浏览器中输入Google.com并且按下回车之后发生了什么?

    作者: skyline75489  来源: skyline75489的博客  发布时间: 2015-03-26 16:57  阅读: 4163 次  推荐: 23   原文链接   [收藏]      ...

  10. Android应用程序组件Content Provider的共享数据更新通知机制分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6985171 在Android系统中,应用程序组 ...