2012-01-14 91 views
3

我在網格中有一個標籤,我從資源字典中將樣式應用於它。風格的變化,除其他事項外,標籤的字號屬性到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屬性,它在設計器中查看時也會增加,但它永遠不會相同。這是爲什麼發生?

回答

9

您可以用不同的方式設置FontSize。從MSDN

<object FontSize ="qualifiedDouble"/>

qualifiedDouble雙值如先前所描述的是 ,隨後這些單元聲明字符串之一:像素,在,釐米,角

PX(默認值)是與設備無關的單元(每單位1 /第96英寸)

是英寸; 1in == 96px

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

pt是分; 1點==(72分之96)PX

在你的風格時,請勿將其明確地默認爲PX。 但是混合與PTenter image description here

這就是爲什麼這兩個值是不同的計算。

+0

謝謝!我不敢相信我沒有想到這一點。 – 2012-01-14 09:54:13