FontSize, установленный в Style, не соответствует FontSize в Blend - PullRequest
3 голосов
/ 14 января 2012

У меня есть метка в сетке, и я применяю к ней стиль из словаря ресурсов. Помимо прочего, стиль меняет свойство FontSize метки на 14.

    <Style x:Key="lblForm" TargetType= "{x:Type Label}">
    <Setter Property="FontSize" Value="14"/>
    <Setter Property="Foreground" Value="Black"/>
    <Setter Property="HorizontalAlignment" Value="Right"/>
    <Setter Property="VerticalAlignment" Value="Center"/>
    <Setter Property="Margin" Value="0,0,6,0"/>
</Style>

Я применяю стиль к метке следующим образом:

<Label x:Name="lblFirstName" Content="First name:" Style="{StaticResource lblForm}" Grid.Row="1"/>

Когда я проверяю тот же элемент метки в дизайнере Blend, свойство FontSize не совпадает с тем, которое установлено в стиле. Например, когда свойство FontSize установлено в 14 в стиле, дизайнер говорит, что FontSize равен 10,5. Если я увеличу свойство FontSize в стиле, оно также увеличится при просмотре в конструкторе, но оно никогда не будет прежним. Почему это происходит?

1 Ответ

9 голосов
/ 14 января 2012

Вы можете установить FontSize по-разному.От MSDN :

<object FontSize ="qualifiedDouble"/>

qualDouble Двойное значение, как описано выше, за которым следует одна из этих строк объявления единиц измерения: px, in, cm, pt.

px (по умолчанию) - независимые от устройства единицы (1/96 дюйма на единицу)

в дюймах;1 дюйм == 96px

см - это сантиметры;1см == (96 / 2.54) px

pt - точки;1pt == (96/72) px

В вашем стиле, если он не установлен явно, по умолчанию он равен px .Но Blend вычисляет с помощью pt enter image description here

Вот почему эти два значения отличаются.

...