【发布时间】:2010-01-20 14:41:10
【问题描述】:
我创建了两个自定义的ComboBox 控件,都继承自默认的ComboBox 控件:
public BlueComboBox : ComboBox {}
public WhiteComboBox : ComboBox {}
BlueComboBox 包含一个模板,样式正确且运行良好。
WhiteComboBox 有点复杂。它包含一个由TextBlock 和BlueComboBox 组成的模板。
sn-p 不正确,但你应该明白了:
<ControlTemplate>
<Grid>
<TextBlock />
<BlueComboBox />
</Grid>
</ControlTemplate>
这是棘手的部分:因为WhiteComboBox 是ComboBox 控件,我想将BlueComboBox 中的项目绑定到我的WhiteComboBox 控件中设置的项目。
<WhiteComboBox>
<ComboBoxItem Content="Foo" />
<ComboBoxItem Content="Bar" />
</WhiteComboBox>
我尝试将模板中使用的BlueComboBox 实体的ItemSource 绑定到我的WhiteComboBox 的ItemsSource 属性,但这似乎不起作用:
<ControlTemplate>
<Grid>
<TextBlock />
<BlueComboBox ItemsSource="{TemplateBinding ItemsSource}" />
</Grid>
</ControlTemplate>
将WhiteComboBox 实例中定义的项目用于BlueComboBox 实例的正确方法是什么?我是否错误地使用了ItemsSource 属性,还是应该使用另一个?
任何帮助将不胜感激。
【问题讨论】:
标签: .net wpf xaml data-binding combobox