在WPF 4 UserControl中,我可以在XAML中定义子控件的绑定,如下所示......
...
<ComboBox
ItemsSource="{Binding CBItems,
RelativeSource={RelativeSource AncestorType=UserControl}}"
...
/>
...
其中CBItems是在UserControl后面的代码中定义的属性。
但是,此格式在Windows 8 Metro中不可用 - RelativeSource没有成员AncestorType。
如何在Windows 8中执行此类绑定?
答案 0 :(得分:3)
看起来TemplatedControl而不是UserControl是为Windows 8 metro开发创建可重用复合组件的方法。
Tim Heuer的This blog post有一个详细的例子。
答案 1 :(得分:0)
如果我理解正确,您希望将ComboBox
的ItemsSource绑定到同一UserControl
内的控件的公共属性?
你不能这样做:
<ComboBox ItemsSource="{Binding CBItems, ElementName=MyControl}"/>
...
<controls:MyUserControl x:name="MyControl" />