WPF文本块随着属性的放置而改变

时间:2011-02-17 12:10:01

标签: wpf wpf-controls textblock

为什么在使用表达属性的不同方式时,文本块会发生变化?

<TextBlock  Canvas.Left="0"  Canvas.Top="0"  FontSize="72" >
        <TextBlock.Foreground>Red
        </TextBlock.Foreground>

        DIET
    </TextBlock>

    <TextBlock  Canvas.Left="0"  Canvas.Top="0"  FontSize="72" Foreground="Red">

        DIET
    </TextBlock>

后者更多的是第一个。有这个原因吗?

2 个答案:

答案 0 :(得分:3)

嗯,没有理由这样做,没有任何区别,只是 Visual Studio Designer 中的一个错误。在运行时尝试并亲自看看:)

Visual Studio 2010 Designer Blend 运行时与以下Xaml的比较

<Canvas>
    <TextBlock Canvas.Left="0" Canvas.Top="0" FontSize="72">
        <TextBlock.Foreground>Red</TextBlock.Foreground>
        DIET
    </TextBlock>
    <TextBlock Canvas.Left="0" Canvas.Top="100" FontSize="72" Foreground="Red">
        DIET
    </TextBlock>
</Canvas>

enter image description here

答案 1 :(得分:0)

左边多少钱?这可能是由于Subpixel sampling - 像素的红色LED可能位于其左侧,看起来好像文本已经移动了2/3的像素。尝试前景=“蓝色”,如果它向右略微移动,那么这就是问题所在。忍住吧。