Сдвиг текстового блока WPF с размещением атрибута - PullRequest
1 голос
/ 17 февраля 2011

Почему при использовании различных способов выражения атрибутов сдвиг текстового блока?

<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 ]

3 голосов
/ 17 февраля 2011

Ну, для этого нет никаких причин, и нет никакой разницы, просто ошибка в Visual Studio Designer .Попробуйте во время выполнения и убедитесь сами:)

Сравнение Visual Studio 2010 Designer , Смешивание и Время выполнения со следующим 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

0 голосов
/ 17 февраля 2011

сколько слева? Это может быть связано с субпиксельной дискретизацией - красный светодиод пикселя может быть на левой стороне, и он будет выглядеть так, как если бы текст сместился на 2/3 пикселя. Попробуйте Foreground = "Blue", и если его немного сместить вправо, то это проблема. Просто живи с этим.

...