2011-06-16 54 views
3

在Silverlight和WPF中,TextBlock是否有默認高度?如果是,它是什麼?TextBlock的默認高度是多少?

+0

請記住,用戶可以有一個Windows主題,使texblock有不同的默認高度... – Jonathan 2011-06-16 14:31:20

+1

如果你有這個問題的目的以外的瑣事,你不需要害羞。只要寫下你正在看的場景,你想要解決的問題,有人可能會幫助你。 – djdanlib 2011-06-16 19:22:01

+0

@djdanlib我在找一個答案,這裏是我的目的:我有一個WPF應用程序與網格和StackPanels(垂直)文本框。 StackPanel中的某個人以某種方式獲得了「默認」高度。我想設置網格控件中的高度以匹配,因此看起來不錯。 – Ben 2014-10-15 11:03:14

回答

1
<Grid x:Name="LayoutRoot" Background="White"> 
    <Border BorderBrush="Blue" BorderThickness="1" CornerRadius="5"> 
     <TextBlock x:Name="Itself" Text="{Binding ElementName=Itself, Path=ActualHeight}" /> 
    </Border> 
</Grid> 

鑑於上述XAML,與Silverlight 4中,將TextBlock爲11默認字體大小,和16的的ActualHeight本身所示的ActualHight將爲0由於高度來計算來不及了。

這是假設你沒有設置它們,在這種情況下,它們不會是默認設置。

有趣的是,WPF中的完全相同的XAML,TextBlock的高度填充了它所在的容器。在這種情況下(無論如何),它顯示它自己的ActualHeight是310. WPF沒有Silverlight的問題綁定到它自己的ActualHeight。調整窗口大小改變了高度。所以在這種情況下,默認的高度可以說是Auto(或NaN)。

+0

我只是嘗試改變爲150%(Windows 7 - 控制面板>外觀和個性化>顯示),並沒有什麼區別。 Silverlight仍然是16。 – 2011-06-16 15:41:10

0

它在VS2008中是23。但是,這並不難找出...

0

它不是一個真正的控制,而是一個frameworkelement。因此,它的默認高度與其保存的控件相同。

+1

我也在尋找這個答案(對於WPF)。當我在StackPanel中使用TextBox時,它以某種方式得到一個「默認」高度,但是當它在Grid控件中使用時,它會按照你所說的來獲取它佔據的單元格的高度。你能否請你更新你的答案,以解釋在StackPanel中使用「默認」高度時的位置? – Ben 2014-10-15 10:42:28