我有一個名爲SpecialExpander
的自定義擴展控件。它基本上只是一個標準的Expander
與一個花哨的頭和一些屬性(HeaderText
和IsMarkedRead
)。將ContentControl *放入WPF DataTemplate中?
我開始通過創建一個簡單的類:
public class SpecialExpander : Expander
{
public string HeaderText { get; set; }
public bool IsMarkedRead { get; set; }
}
然後,我創建了一個設置在膨脹機(例如,邊距,填充等),更重要的幾個屬性的樣式,它還定義了自定義DataTemplate
爲HeaderTemplate
屬性。該模板基本上是一個兩行的網格。
如下面圖所示...
- 的頂行,我想有固定的佈局(它總是
TextBlock
TextBlock
CheckBox
) - 的底部行,但是,我想能夠爲每個擴展器提供定製的XAML。
我試着把<ContentControl Grid.Row="1" ... />
放在DataTemplate
中,但我無法弄清楚如何正確連接它。
alt text http://img85.imageshack.us/img85/1194/contentcontrolwithintem.jpg
alt text http://img29.imageshack.us/img29/1194/contentcontrolwithintem.jpg
問題
如何建立一個DataTemplate
我SpecialExpander
使頭部具有索姆e固定內容(頂行)和自定義內容的佔位符(底行)?
對於第二個例子,我希望能夠做這樣的事情:
<SpecialExpander HeaderText="<Expander Header Text>" IsMarkedRead="True">
<SpecialExpander.Header>
<StackPanel Orientation="Horizontal">
<RadioButton Content="High" />
<RadioButton Content="Med" />
<RadioButton Content="Low" />
</StackPanel>
<SpecialExpander.Header>
<Grid>
<Label>Main Content Goes Here</Label>
</Grid>
</SpecialExpander>
我喜歡它,當發生這種情況:) – 2010-01-20 22:48:02
嗨,如果它是確定你的話,你可以跟我們分享這個示例應用程序,請讓每個人都能享受的代碼? – SharpUrBrain 2010-12-03 06:42:12