TextBlock控件

TextBlock控件是应用程序开发过程中经常使用的控件之一,它的主要功能是显示一段只读的文本内容。开发者可以使用TextBlock控件来显示提示信息,还可以根据需求将显示的提示信息设置成不同的大小和样式。

在XAML文件中,TextBlock控件的用法如下所示:

<TextBlock ...>

<!--添加文本-->

</TextBlock>

-或-

<TextBlock ...>

<!--添加一个或者多个Run元素-->

</TextBlock>

-或-

<TextBlock .../>

下面介绍一下TextBlock控件的常用属性:

  • FontFamily属性,获取或设置TextBlock控件中显示文本的字体。
  • FontSize属性,获取或设置TextBlock控件中显示文本的大小,默认以像素为单位。
  • FontStyle属性,获取或设置TextBlock控件中显示文本的字体样式,其属性值可以为Normal,Italic和Oblique。
  • Text属性,获取或设置TextBlock控件中显示的文本内容。
  • Foreground属性,获取或设置TextBlock控件中显示文本的颜色。
  • TextWrapping属性,获取或设置TextBlock控件中的文本是否自动换行。若属性值为Wrap,文本自动换行,若属性值为NoWrap则不自动换行。

通过TextBlock控件的子元素Run和LineBreak可以对文本内容进行细致的设置,Run元素能够设置文本的属性和样式,LineBreak元素表示在TextBlock控件中进行换行。

接下来通过一个示例来说明TextBlock控件的使用方法。

新建一个Windows应用商店的空白应用程序项目,并命名为TextBlockDemo,在MainPage.xaml文件的Grid元素中添加如下代码。

<TextBlock HorizontalAlignment="Left" FontSize="25" Margin="644,271,0,0" TextWrapping="Wrap" Text="TextBlock控件示例" VerticalAlignment="Top" Width="224" Height="29"/>

<TextBlock FontSize="25" Margin="644,314,498,370">

<Run FontFamily="楷体">这是</Run>

<Run FontFamily="楷体">一个楷体的文本</Run>

<LineBreak/>

<Run FontFamily="宋体">这是一个宋体的文本</Run>

</TextBlock>

在上面的代码中,添加了两个TextBlock文本块,在第一个文本块中,定义其FontSize属性值为25,Text属性的值为"TextBlock控件示例"。在第二个文本块中,定义FontSize属性值为25,然后在这个文本块中添加三个Run元素,设置前两个Run元素中文本内容分别为"这是"和"一个楷体的文本",FontFamily属性值都为"楷体",接着添加一个LineBreak元素用于对文本换行。在第三个Run元素中文本内容为"这是一个宋体的文本",FontFamily属性值为"宋体"。

运行程序,在界面上将以设置的字体显示TextBlock控件中写入的文本内容,效果如图4-22所示。

图4-22 使用TextBlock控件展示不同文字效果

Win10系列:C#应用控件基础12的更多相关文章

  1. Win10系列:JavaScript 控件的使用

    向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...

  2. Win10系列:UWP界面布局基础12

    画刷 画刷(Brush)用于为图形元素填充颜色.在XAML中,画刷有许多属性,其中较常使用的是Fill属性和Stroke属性,Fill用于填充图形的背景色,而Stroke用于设置图形的线条颜色. 在实 ...

  3. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...

  4. WPF 模仿 UltraEdit 文件查看器系列一 用户控件

    WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...

  5. C#控件系列--文本类控件

    C#控件系列--文本类控件         文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能         Label用来 ...

  6. 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree

    原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...

  7. 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试

    原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...

  8. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

  9. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

随机推荐

  1. Docker:Docker machine(5)

    Docker machine Docker Machine的安全集成在Docker Toolbox中,是用户在Windows环境下使用docker并管理VirtualBox的一个终端: docker- ...

  2. Go 初体验 - 令人惊叹的语法 - defer.4 - defer 对宿主函数返回值的影响

    defer 函数可以影响宿主函数的返回值 看代码: 调用: 输出: 结果又让人意外了. coo1:因为传引用,return 时 i = 100, return 返回的也是 100,return 执行之 ...

  3. [转载]ORACLE日期时间函数大全

    ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年 ...

  4. docker基本管理

    一.docker基本命令 1.docker 获取镜像 将从 Docker Hub 仓库下载一个 Ubuntu 12.04 操作系统的镜像 docker pull ubuntu:12.04 Pullin ...

  5. 简单代码生成csv文件(excel)

    $arr = array('');// 目标数组 header("Content-Type:application/vnd.ms-excel;charset=gbk"); head ...

  6. Maven Web Project设置Webcontent路径

    1,新建maven-archetype-webapp 2,右键项目-->Properties-->选中Project Facets中的Runtimes标签,然后Java版本改为1.8,Dy ...

  7. 基于Docker搭建MySQL多源复制环境

    MySQL5.7在主从复制上面相对之前版本多了一些新特性,包括多源复制.基于组提交的并行复制.在线修改Replication Filter.GTID增强.半同步复制增强等. 多源复制:多源复制加入了一 ...

  8. js BOM浏览器对象模型

    BOM即Browser Object Model,浏览器对象模型,表示浏览器窗口,所有js全局对象.函数以及变量均是window 对象的成员. 对于不同的浏览器,表示宽度和高度的方法不同: 对于IE9 ...

  9. hdoj1905 Pseudoprime numbers (基础数论)

    Problem Description Fermat's theorem states that for any prime number p and for any integer a > 1 ...

  10. Learning-Python【30】:基于UDP协议通信的套接字

    UDP协议没有粘包问题,但是缓冲区大小要足够装数据包大小,建议不要超过 512 服务端: # 服务端 import socket server = socket.socket(socket.AF_IN ...