Usercontrol绑定 - RelativeSource

时间:2012-07-05 12:39:49

标签: user-controls windows-8

在WPF 4 UserControl中,我可以在XAML中定义子控件的绑定,如下所示......

...
    <ComboBox 
        ItemsSource="{Binding CBItems, 
                      RelativeSource={RelativeSource AncestorType=UserControl}}"
        ...              
    />
...

其中CBItems是在UserControl后面的代码中定义的属性。

但是,此格式在Windows 8 Metro中不可用 - RelativeSource没有成员AncestorType。

如何在Windows 8中执行此类绑定?

2 个答案:

答案 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" />