WPF教程(十四)文本框
文本框本质上并不是一个控件,因为它不继承于控件类,然而在WPF中它使用情况和其他控件几乎一样,因此我们仍称它为控件。
文本框控件是WPF中最基础的控件之一,非常实用。它将文字显示到屏幕上,和标签控件一样,但是比标签更简单,占资源更少。普遍的共识是标签用于简短的单行文本(包括图片),而文本框多用于多行文本。标签和文本框各有优点,根据具体情况来使用。
在"Hello, WPF!"一章中,我们已经使用过一个文本框控件,下面,我们来看看文本框最简单的格式:
<span style="font-size:14px;"><Window x:Class="WpfTutorialSamples.Basic_controls.TextBlockSample"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="TextBlockSample" Height="100" Width="200"><Grid><TextBlock>This is a TextBlock</TextBlock></Grid>
</Window></span>
这没什么新鲜的,TextBlock之间的文字其实是Text属性的快捷设置。
下面我们尝试把一段长文字放到文本框,看看它是如何工作的。为了看起来更舒服,加了一个留边空白。
<span style="font-size:14px;"><Window x:Class="WpfTutorialSamples.Basic_controls.TextBlockSample"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="TextBlockSample" Height="100" Width="200"><Grid><TextBlock Margin="10">This is a TextBlock control and it comes with a very long text</TextBlock></Grid>
</Window></span>
处理长字符串
很快就能发现,文本框可以很好的兼容长字符串,但是不会自动换行,需要设置。上面的文本太长,无法在窗口显示完整。
下面就来处理这个问题:
<span style="font-size:14px;"><Window x:Class="WpfTutorialSamples.Basic_controls.TextBlockSample"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="TextBlockSample" Height="200" Width="250"><StackPanel><TextBlock Margin="10" Foreground="Red">This is a TextBlock control<LineBreak />with multiple lines of text.</TextBlock><TextBlock Margin="10" TextTrimming="CharacterEllipsis" Foreground="Green">This is a TextBlock control with text that may not be rendered completely, which will be indicated with an ellipsis.</TextBlock><TextBlock Margin="10" TextWrapping="Wrap" Foreground="Blue">This is a TextBlock control with automatically wrapped text, using the TextWrapping property.</TextBlock></StackPanel>
</Window></span>
上面用了三个文本框,每一个都用不同的颜色,它们用不同的方式处理了文本太长的问题。
红色文本框使用LineBreak标记在指定的位置换行。它给了你绝对的控制权,能做到随时切换到新行。但是很多情况下却不适用。如果用户把窗口拉大,文本仍在原来的位置换行,即使有足够的空间把整个文本一行显示。
绿色文本框使用TextTrimming属性赋值为CharacterEllipsis,当文本无法显示全的时候显示为省略号。这很好的显示了文本很长但是不够显示完整。如果你有很长的文本但是不想显示多行,那么这是一个很好的方法。另外你还可能用到WordEllipsis,它以单词为单元进行省略,而不是以字母,防止一个单词只显示部分。
蓝色文本框使用TextWrapping属性赋值为Wrap,它能让文本自动换行。与第一种手动切换相比,它是完全自动的。它还能随着空间的改变而自动调整。通过拉大或缩小窗口,你会发现自动换行发挥完美。
用文本框处理简单的字符串就讲这么多。下一章我们将探寻文本框的更深一层的功能,如创建各种样式的文本等等。
WPF教程(十四)文本框相关推荐
- 【Visual C++】游戏开发笔记四十六 浅墨DirectX教程十四 模板测试与镜面特效专场
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8632184 作者:毛星云( ...
- Wix 安装部署教程(十四) -- 多语言安装包之用户许可协议
Wix 安装部署教程(十四) -- 多语言安装包之用户许可协议 原文:Wix 安装部署教程(十四) -- 多语言安装包之用户许可协议 在上一篇中,留下了许可协议的问题,目前已经解决.感谢网友武全的指点 ...
- akka学习教程(十四) akka分布式实战
akka系列文章目录 akka学习教程(十四) akka分布式实战 akka学习教程(十三) akka分布式 akka学习教程(十二) Spring与Akka的集成 akka学习教程(十一) akka ...
- WPF教程(四)RelativeSource属性(转)
WPF教程(四)RelativeSource属性 2018年08月13日 15:11:56 yangwenxue1989 阅读数:749 我们进行Bingding时,如果明确知道数据源的Name,就能 ...
- wpf 带图像的文本框_注意WPF中带有图像PNG的DPI-图像比例奇怪或模糊
wpf 带图像的文本框 Is that enough TLAs (Three Letter Acronyms) in the title there? I continue to mentally d ...
- Cesium教程(十四):简易三维模型的可视化
Cesium教程(十四):简易三维模型的可视化 效果预览 1.高效三维数据格式:3D Tiles 3D Tiles是Cesium提出的处理三维地理大数据的数据格式,目前已是OGC数据标准之一,并在We ...
- html5文本框里插图片文字,word应用教程:在文本框内插入图片
在使用word编辑电子文档时,可以通过插入功能插入图片,那么怎样才能在wps文字文档从插入可以任意移动的图片呢,那么下面就由学习啦小编给大家分享下word在文本框内插入图片的技巧,希望能帮助到您. w ...
- nCode:DesignLife案例教程十四
nCode:DesignLife 案例十四--高温SN疲劳分析 14.1 案例文件 14.2 目的 14.3 设计问题 14.4 Overview of the Hybrid Load Provide ...
- WebGL简易教程(十四):阴影
文章目录 1. 概述 2. 示例 2.1. 着色器部分 2.1.1. 帧缓存着色器 2.1.2. 颜色缓存着色器 2.2. 绘制部分 2.2.1. 整体结构 2.2.2. 具体改动 2.2.2.1. ...
- 【STM32】HAL库 STM32CubeMX教程十四---SPI
前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 在我们的HAL库中,对硬件SPI函数做了很好的集成,使得之前SPI几百行代码,在HAL库中,只需 ...
最新文章
- ARP(Accounting Resource Planning)项目感想
- ansible文档官网
- python isnumeric函数用法_Python中isnumeric()方法的使用简介
- funm--矩阵的函数运算
- 长这么大了,一件事也没做好过
- 程序员过关斩将--重复的请求并不好过滤
- 二进制权值计算 lsb_2020年二级计算机基础知识备考(第二章)
- Vue + Spring Boot 项目实战(二):使用 CLI 搭建 Vue.js 项目
- 电信业的100个随想
- 使用动态SQL获取具有非空字段的自定义表结构
- ArcGIS Pro 性能诊断
- 压缩感知高斯测量矩阵matlab,基于压缩感知的测量矩阵研究
- 为什么我的儿子不沉迷游戏?一位游戏策划家长的分享
- 最简单的Go Dockerfile编写姿势
- 计算机类论文答辩常见问题——软件开发类题目
- vue 打造携程网平台界面实战
- 电脑上的文件夹都是显示英文怎么快速翻译成中文
- 帆软当表格无数据时不显示表格并显示无数据
- 【UE4从零开始 027】插槽 Slot
- 如何在.NET程序崩溃时自动创建Dump?
热门文章
- 台达屏幕modbus通信解析
- VGGNet 论文精度,并解析 VGG-16 网络模型结构
- 【LG手机】【刷机救砖教程】【F240】刷了recovery不慎手机变砖
- swft 语言 java_Swift语言中与C/C++和Java不同的语法(一)
- 四川大学计算机学院优秀毕业论文,我院获得四川大学2019届本科优秀毕业论文(设计)17篇...
- Android 省份城市搜索,Android 实现省份城市的选择,并获取城市编号
- Ps--钢笔工具(1)
- cocos creator组件化开发 对比 cocos studio +cocos2dx开发
- c#连接Java后台,处理返回的数据
- 编写一个歌词随音乐播放滚动的播放器