2012-08-09 60 views
1

我回答前一個問題,下面溶液提供(和極大的幫助):在標籤中使用TextBox而不是僅使用TextBox有什麼意義?

<sdk:Label> 
    <TextBlock Text="This is underlined" TextDecorations="Underline" /> 
</sdk:Label> 

看來,下面的XAML將得到相同的結果:

<TextBlock Text="This is underlined" TextDecorations="Underline" /> 

所以我的問題是:爲什麼要將TextBlock放入標籤中?這給你帶來了什麼好處?以這種或那種方式做這件事的標準是什麼?

正如您可能猜到的那樣,對於我尚未了解的XAML對象,可能存在一些基本問題。

回答

1

在大多數一般情況下,它沒有任何優勢。

事實上,在情況下,你已經定義的,的TextBlock應該標籤包裹。

標籤ContentControl。它使用ContentTemplate呈現給它的任何類型的內容。默認情況下,當您嘗試渲染字符串時,它在內部使用TextBlock來渲染它。

所以,以下是相同的:

<Label> 
    Text 
</Label> 

<Label> 
    <TextBlock> 
     Text 
    </TextBlock> 
</Label> 

在這種情況下,使用標籤只給你一個優勢,如果你有一個自定義的ContentTemplate使用內部的App.xaml隱式的風格定義,以便它適用於應用程序中的所有標籤

否則,如果唯一的要求是顯示一些帶下劃線的文本,則應該使用相同的文本塊。

相關問題