• 去掉两个TextBlock控件之间空格的两个方法 (remove space between two textblocks)


    先看一个例子:

        <TextBlock Canvas.Left="37.7953" Canvas.Top="95.5906">
            <TextBlock Text="lzd"></TextBlock>       
            <TextBlock Text="2013/09/09"></TextBlock>
        </TextBlock>

    上面的例子中, 内部的两个TextBlock控件之间默认带有一个空格, 预览的效果如下图:

    从MSDN XAML 概述 (WPF) 一文中可以发现如下描述:

    WPF XAML 处理器和序列化程序将忽略或删除所有无意义的空白,并规范化任何有意义的空白。这与 XAML 规范的默认空白行为建议一致。通常,只有当您在 XAML 内容属性中指定字符串时,此行为的重要性才会体现出来。简言之,XAML 将空格、换行符和制表符转化为空格,如果它们出现在一个连续字符串的任一端,则保留一个空格。

    那么,如果想去掉这个空格,  有什么方法呢?

    方法1: 将两个TextBlock首尾相连, 去掉之间的回车换行即可解决。

    代码如下: 

        <TextBlock Canvas.Left="37.7953" Canvas.Top="115.5906">
            <TextBlock Text="lzd"></TextBlock><TextBlock Text="2013/09/09"></TextBlock>
        </TextBlock>

    预览的效果如下图:

    现在, 把前后两张图放在一起, 比较一下就能看出这个空格的区别了.

    方法2:如果觉得这样的解决方案不令人满意, 可以使用StackPanel来解决。

    代码如下:

        <StackPanel Canvas.Left="37.7953" Canvas.Top="115.5906" Orientation="Horizontal"  >
            <TextBlock Text="Date:" ></TextBlock>
            <TextBlock Text="2013/09/09"></TextBlock>       
        </StackPanel>

    或者

        <StackPanel Canvas.Left="37.7953" Canvas.Top="135.5906" Orientation="Horizontal"  >
            <TextBlock Text="Date:" ></TextBlock><TextBlock Text="2013/09/09"></TextBlock>
        </StackPanel>

    上述两种写法的效果图如下:

     

    可见, 在StackPanel中的TextBlock, 无论是否首尾相连, 都没有空格。

    参考帖子:

    1.Silverlight: Why is there space between these two elements?
    http://stackoverflow.com/questions/4063992/silverlight-why-is-there-space-between-these-two-elements

    2.spaces between runs in textblock
    http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/5f37aa29-3dc6-44db-9784-197f221f80f7

    3.XAML 概述 (WPF)
    http://msdn.microsoft.com/zh-cn/library/ms752059.aspx

    作者:BobLiu
    邮箱:lzd_ren@hotmail.com
    出处:http://www.cnblogs.com/liuzhendong
    本文版权归作者所有,欢迎转载,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    关于oracle小数和整数混合排序错误问题
    oracle 格式转换 <行转列列转行>
    Postgresql 配置文件详解
    Postgresql 同步流复制
    Postgresql 安装
    mongodb 复制集 维护小结
    mongodb 角色总结
    mongodb 安全认证
    SqlServer实时数据同步到mysql
    批量修改在索引中增加字段
  • 原文地址:https://www.cnblogs.com/liuzhendong/p/3085577.html
Copyright © 2020-2023  润新知