我有一个名为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