我有一个自定义的展开控件叫做
我开始创建一个简单的类:
然后我创建了一个样式,设置了扩展器上的一些属性(例如间距、填充等),并且重要的是,它还为HeaderTemplate属性定义了一个自定义DataTemplate。该模板基本上是一个具有两行的网格。
如下图所示...
- 对于顶部行,我希望使用固定布局(它始终是TextBlock TextBlock CheckBox) - 然而,对于底部行,我想能够为每个扩展器提供自定义的XAML。
我尝试将放入DataTemplate中,但我无法正确地连接它。
SpecialExpander
。它基本上只是一个带有花哨标题和一些属性(HeaderText
和IsMarkedRead
)的标准Expander
。我开始创建一个简单的类:
public class SpecialExpander : Expander
{
public string HeaderText { get; set; }
public bool IsMarkedRead { get; set; }
}
然后我创建了一个样式,设置了扩展器上的一些属性(例如间距、填充等),并且重要的是,它还为HeaderTemplate属性定义了一个自定义DataTemplate。该模板基本上是一个具有两行的网格。
如下图所示...
- 对于顶部行,我希望使用固定布局(它始终是TextBlock TextBlock CheckBox) - 然而,对于底部行,我想能够为每个扩展器提供自定义的XAML。
我尝试将放入DataTemplate中,但我无法正确地连接它。
alt text http://img85.imageshack.us/img85/1194/contentcontrolwithintem.jpg
这段内容展示了一个图片链接,用于演示如何在编程中控制内容。问题
我如何为我的SpecialExpander
构建一个DataTemplate
,使得标题有一些固定的内容(顶部行)和自定义内容的占位符(底部行)?
对于第二个示例,我希望能够做到以下操作:
<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>