关于XAML中是如何处理空格的,MSDN上给出了详细的描述:http://msdn.microsoft.com/en-us/library/cc189036%28v=VS.95%29.aspx#whitespace
摘重要的简单说一下:
空格、回车、制表符都被当做空格。
连续的空格会被合并为一个空格。
8bf259f5a6144433b921fb8b7de94970后紧邻的空格会被忽略。baa3ea5ae7414741617ff7b18b3fb09e前紧邻的空格会被忽略。换句话说,解析器对8bf259f5a6144433b921fb8b7de94970…baa3ea5ae7414741617ff7b18b3fb09e中间的字符串做Trim。
如何保留空格
给元素加上属性 xml:space="preserve"
设置了这个属性之后,会保留元素中所有的空格,不会合并连续空格,也不会trim两头的空格。
这个方法有个不便,就是它会保留元素中所有的空格,哪怕这些空格是由代码格式规整化后产生的。这就意味着,你不能用ctrl+E,F这样的快捷键来整理代码格式了,一旦不小心整理了,改回来都很麻烦。
因为XAML支持直接写Unicode代码,这串代码代表一个non breaking space.
复杂的文本
带有复杂格式的文本,建议使用RichTextBox。
因为文本元素分为block和inline两种,TextBlock仅允许包含inline,所以用来展示少量的文本比较合适。
如果格式比较复杂,注意用好span,span与run的不同在于,span不会继承父元素的格式,相当于重置格式,不受父元素格式的影响。
* 换行
在XAML中输入回车会被当做一个空格,所有换行要用e1d9b8af2bbdb369143b6eb8718edc46。
另外,两个Run相邻,如果是如下排列:
<Run>ab</Run> <Run>cd</Run>
则显示成:
ab cd
会自动在两个Run之间加上换行符。
如果要让回车去掉,显示成abcd,则应该写在一行里:
<Run>ab</Run><Run>cd</Run>
* Tab
首先,XAML中没有tab,只能用连续的空格来代替。
需要注意,在将一个string赋值给RichTextBox的Xaml属性时,会合并掉连续的空格,所有如果要保留tab(连续的空格),需要进行这样一个workaround:
private const string TAB = " "; private const string TAB_PLACEHOLDER = "===TAB==="; textBox1.Text = richTextBox1.Xaml; string xaml = richTextBox1.Xaml; xaml = xaml.Replace(TAB, TAB_PLACEHOLDER); richTextBox2.Xaml = xaml; foreach (Block block in richTextBox2.Blocks) { foreach (Inline inline in ((Paragraph)block).Inlines) { ((Run)inline).Text = ((Run)inline).Text.Replace(TAB_PLACEHOLDER, TAB); } }
先用一个占位符来代替四个空格,这样在给richTextBox的xaml属性赋值的时候就不会合并空格了。
然后再替换这个占位符,赋完值替换的时候不会进行合并。
==================================================
XAML被XML规则绑定。例如XML对几个特殊字符有特别意义,像&,6580843315dd7804e35fd3743df832ea。如果你尝试用这些值来设置一个元素的内容,你可能会出错,因为XAML解析器假设你正在试图做某些事情,比如创建嵌套元素。你可以使用字符实体,例如<用6580843315dd7804e35fd3743df832ea用>,&用&,"用" 特殊字符不是你运行XAML的一障碍,另外一个是空格处理。一个字符串前,后,字符串中的空格,TAB,回车键都会被忽视掉,只保留一个空格。你可以使用XML:space="preserve",保留任何空格,TAB,回车键。注意,这些规则只对XAML有用,如果你在代码中设置内容,任何空格都会保留。
特殊字符和空格
下面的字符在 [XML]中被定义为 空白(whitespace)字符:
空格 ( )
Tab ( )
回车 (
)
换行 ( )
以上是XML特殊字符和空格 换行 转义符的代码详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

如何用PHP和XML实现网站的分页和导航导言:在开发一个网站时,分页和导航功能是很常见的需求。本文将介绍如何使用PHP和XML来实现网站的分页和导航功能。我们会先讨论分页的实现,然后再介绍导航的实现。一、分页的实现准备工作在开始实现分页之前,需要准备一个XML文件,用来存储网站的内容。XML文件的结构如下:<articles><art

一、XML外部实体注入XML外部实体注入漏洞也就是我们常说的XXE漏洞。XML作为一种使用较为广泛的数据传输格式,很多应用程序都包含有处理xml数据的代码,默认情况下,许多过时的或配置不当的XML处理器都会对外部实体进行引用。如果攻击者可以上传XML文档或者在XML文档中添加恶意内容,通过易受攻击的代码、依赖项或集成,就能够攻击包含缺陷的XML处理器。XXE漏洞的出现和开发语言无关,只要是应用程序中对xml数据做了解析,而这些数据又受用户控制,那么应用程序都可能受到XXE攻击。本篇文章以java

当我们处理数据时经常会遇到将XML格式转换为JSON格式的需求。PHP有许多内置函数可以帮助我们执行这个操作。在本文中,我们将讨论将XML格式转换为JSON格式的不同方法。

Pythonxmltodict对xml的操作xmltodict是另一个简易的库,它致力于将XML变得像JSON.下面是一个简单的示例XML文件:elementsmoreelementselementaswell这是第三方包,在处理前先用pip来安装pipinstallxmltodict可以像下面这样访问里面的元素,属性及值:importxmltodictwithopen("test.xml")asfd:#将XML文件装载到dict里面doc=xmltodict.parse(f

使用nmap-converter将nmap扫描结果XML转化为XLS实战1、前言作为网络安全从业人员,有时候需要使用端口扫描利器nmap进行大批量端口扫描,但Nmap的输出结果为.nmap、.xml和.gnmap三种格式,还有夹杂很多不需要的信息,处理起来十分不方便,而将输出结果转换为Excel表格,方面处理后期输出。因此,有技术大牛分享了将nmap报告转换为XLS的Python脚本。2、nmap-converter1)项目地址:https://github.com/mrschyte/nmap-

xml中node和element的区别是:Element是元素,是一个小范围的定义,是数据的组成部分之一,必须是包含完整信息的结点才是元素;而Node是节点,是相对于TREE数据结构而言的,一个结点不一定是一个元素,一个元素一定是一个结点。

Scrapy是一款强大的Python爬虫框架,可以帮助我们快速、灵活地获取互联网上的数据。在实际爬取过程中,我们会经常遇到HTML、XML、JSON等各种数据格式。在这篇文章中,我们将介绍如何使用Scrapy分别爬取这三种数据格式的方法。一、爬取HTML数据创建Scrapy项目首先,我们需要创建一个Scrapy项目。打开命令行,输入以下命令:scrapys

1.在Python中XML文件的编码问题1.Python使用的xml.etree.ElementTree库只支持解析和生成标准的UTF-8格式的编码2.常见GBK或GB2312等中文编码的XML文件,用以在老旧系统中保证XML对中文字符的记录能力3.XML文件开头有标识头,标识头指定了程序处理XML时应该使用的编码4.要修改编码,不仅要修改文件整体的编码,还要将标识头中encoding部分的值修改2.处理PythonXML文件的思路1.读取&解码:使用二进制模式读取XML文件,将文件变为


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3汉化版
中文版,非常好用

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器