我在网格中有一个标签,并从资源字典中将样式应用到它。除其他外,样式将标签的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"/>当我检查混合设计器中相同的label元素时,FontSize属性是而不是样式中设置的。例如,当FontSize属性在样式中设置为14时,设计人员表示FontSize为10.5。如果我在样式中增加了FontSize属性,那么在设计器中查看它时它也会增加,但它永远不会相同。为什么会发生这种情况?
发布于 2012-01-14 09:51:47
您可以以不同的方式设置FontSize。来自MSDN
<object FontSize ="qualifiedDouble"/>qualifiedDouble如前面所述的双值,后面跟着以下一个单元声明字符串: px,in,cm,pt。 px (默认)是独立于设备的单元(每单位1/96英寸)。 英寸;1in==96px 厘米为厘米;1cm==(96/2.54) px pt是点;1pt==(96/72) px
在您的风格中,当没有显式设置时,它默认为px。但是用pt进行混合计算

这就是为什么这两个值是不同的。
https://stackoverflow.com/questions/8861357
复制相似问题