Style中设置的FontSize与Blend中的FontSize不匹配

时间:2012-01-14 09:38:00

标签: wpf expression-blend font-size

我在网格中有一个标签,我从资源字典中应用了一个样式。除其他外,样式将标签的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设计器中检查相同的label元素时,FontSize属性与样式中设置的相同。例如,当样式中FontSize属性设置为14时,设计者说FontSize为10.5。如果我在样式中增加FontSize属性,当我在设计器中查看它时它也会增加,但它永远不会相同。为什么会这样?

1 个答案:

答案 0 :(得分:9)

您可以通过不同方式设置FontSize。来自MSDN

  

<object FontSize ="qualifiedDouble"/>

     

qualifiedDouble如前所述的双精度值   后跟其中一个单位声明字符串:px,in,cm,pt。

     

px(默认值)是与设备无关的单位(每单位1/96英寸)

     

in是英寸; 1英寸== 96PX

     

厘米是厘米; 1cm ==(96 / 2.54)px

     

点是; 1pt ==(96/72)px

在您的风格中,如果未明确设置,则默认为 px 。 但Blend使用 pt enter image description here

计算

这就是两个值不同的原因。