我创建了两个自定义ComboBox
控制,无论是从默认ComboBox
控制继承:自定义组合框控件里面的其他自定义组合框控件,如何绑定项目?
public BlueComboBox : ComboBox {}
public WhiteComboBox : ComboBox {}
BlueComboBox
包含模板和正确的风格和完美的作品。 WhiteComboBox
有点复杂。它包含一个由TextBlock
和BlueComboBox
组成的模板。
代码段不正确,但你应该得到的想法:
<ControlTemplate>
<Grid>
<TextBlock />
<BlueComboBox />
</Grid>
</ControlTemplate>
这里是棘手的部分:因为WhiteComboBox
是ComboBox
控制,我想在BlueComboBox
结合的项目在我的WhiteComboBox
控制设置的。
<WhiteComboBox>
<ComboBoxItem Content="Foo" />
<ComboBoxItem Content="Bar" />
</WhiteComboBox>
我想结合在模板中使用到我的WhiteComboBox
的ItemsSource
财产BlueComboBox
实体的ItemSource,但似乎并没有工作:
<ControlTemplate>
<Grid>
<TextBlock />
<BlueComboBox ItemsSource="{TemplateBinding ItemsSource}" />
</Grid>
</ControlTemplate>
什么是使用的正确方法在我的WhiteComboBox
实例中定义的项目到BlueComboBox
实例?我是否错误地使用了ItemsSource
属性,还是应该使用另一个属性?
任何帮助将不胜感激。
谢谢你,这个伎俩。 我正在使用样式,但每个组合框类型包含额外的DependencyProperties,因为我相当新的创建我自己的自定义控件基于他们是最简单的方法来做到这一点。 – Jensen 2010-01-20 14:58:14