2012-06-20 18 views
0

我需要創建一個TreeView類型的控制器,將顯示豐富的文本。XAML:有沒有辦法樣式樹型視圖標題屬性包含多種字體樣式?

例子:

通過 人名

» 簽名

» 認證通過人名

的樹型視圖的內容很容易,因爲我可以簡單地把TextBlock的裏面,但標題不允許多種字體樣式聲明。

我真的在XAML初學者,我在ExpressionBlend工作(雖然我不從編碼迴避)。如果有人把我推向正確的方向,我會非常感激。

回答

2

你可以把一個「運行」,在一個TextBlock來改變字體。

例如

<TextBlock>Hello<Run FontStyle="Bold">World</Run></TextBlock> 

您可以設置標題的任何東西的內容你要

<TreeViewItem> 
    <TreeViewItem.Header> 
     <TextBlock>Hello<Run FontStyle="Bold">World</Run></TextBlock> 
    </TreeViewItem.Header> 
</TreeViewItem> 

當你這樣做:

<TreeViewItem>Hello</TreeViewItem> 

你是不是告訴你要什麼屬性的XAML分析器把'你好'放進去。在XAML解析器將看型(樹型視圖),看看它設置爲「ContentProperty」,在這種情況下,它被稱爲「標頭」的屬性。因爲你沒有指定'你好'是什麼,它假定一個字符串。由於字符串實際上不能作爲WPF中的內容顯示,因此必須創建一個控件來顯示字符串。 TreeViewItem的ValueConverter設置爲提供TextBlock控件,並將此控件的Text設置爲您輸入的字符串。那麼是什麼幕後發生的事情是很多比你更可以看到:)

所有這些東西,你可以用你自己的控件

你或許應該在WPF模板,內容控件,內容展示器閱讀起來做,款式等方面有很多強大的東西,你可以用WPF做的 - 例如,讓每一個按鈕,在您的應用程序具有相同的佈局和樣式,並添加到該按鈕的正面照片,無需任何代碼(只是少數XAML的線)

看一看這裏的初學者指南模板化

http://msdn.microsoft.com/en-us/magazine/cc163497.aspx

+0

謝謝Charleh我並不知道可以使用而不是。我想你是從Expression Blend代碼學習XAML的。完美的作品! – Lukigi

+0

沒有問題,現在得到編碼...聲明! – Charleh

相關問題