XAML中的特殊字符以及空白或空格的处理

转自:https://blog.csdn.net/suqingheangle/article/details/6535379?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 

 

XAML中的特殊字符以及空白的处理
原创 有态度的Coder 最后发布于2011-06-10 00:22:00 阅读数 4238 收藏
展开

XAML受限于XML的规则,例如,XML特别关注一些特殊字符,如&,<以及>。如果试图使用这些字符设置一个元素的内容,将会遇到很多麻烦,因为XAML解析器认为正在做其他的事情,比如创建一个嵌套元素。

    例如,要创建一个包含有<You & Me>文本的按钮,按照正常的方法是不能完成的:

        <Button ...>
            <You & Me>
        </Button>

    上述的标记是不能创建一个想要的Button的,因为使用了会违反XAML规则的字符。以下是可能会用到的字符实体,如果要使用特殊符号,必须通过引用字符实体,因为引号用于指示一个特性值的开始和结束。
    特殊字符实体

        特殊字符

        

        字符实体

    小于号(<)    

        &lt;

    大于号(>)    

        &gt;

    &符号(&)    

        &amp;

    引号(“)    

        &quot;

    现在,要想实现上述Button,可以如下标记:

    <Button ...>

    &lt; You &amp; Me&gt;

    </Button>

    如此则可以正确的标识所要的Button。

    另,XAML默认的是压缩所有的空白字符,如空格,Tab键,硬回车等,将其压缩为一个标准的空格长度的空白字符,但如果需要在现实的文本中显示所要的空白,必须对元素的属性做一声明,即将使用元素标记为:xml:space="preserve",如下

        <TextBox Name = "txtTest" xml:sapce="preserve" ...>
            [There is some       space "    "]
        </TextBox>

    这样,在实际显示的时候,文本框除了显示空格,Tab以外,还会显示一个硬回车,因为默认的是处理所有的空白。
    如果不想让其显示硬回车,就必须使用一个不是太好看的标记方式以去掉硬回车,如下:

        <TextBox Name = "txtTest" xml:sapce="preserve" ...>
            [There is some       space "    "]</TextBox>

    这样,就确保了开始符号<和结束符号>之间没有其他空白字符。

————————————————
版权声明:本文为CSDN博主「有态度的Coder」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/suqingheangle/article/details/6535379

posted @   长白山  阅读(456)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
历史上的今天:
2019-03-25 设计方法小总结
2019-03-25 .NET Core / C# 开发 IOT 嵌入式设备的个人见解
点击右上角即可分享
微信分享提示