我在网格中有一个标签,我从资源字典中应用了一个样式。除其他外,样式将标签的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属性,当我在设计器中查看它时它也会增加,但它永远不会相同。为什么会这样?
答案 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
计算这就是两个值不同的原因。