2012-07-05 63 views
1

在WPF 4用户控件我可以定义在XAML像这样子控制的绑定...用户控件绑定 - 的RelativeSource

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

其中CBItems是在用户控件的代码后面定义的属性。

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

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

回答

3

看起来好像TemplatedControl而不是用户控件是去创建用于Windows 8地铁开发可重复使用的复方成分的方式。

This blog post作者:Tim Heuer有一个详细的例子。

0

如果我理解正确,您想要将ComboBox的ItemsSource绑定到同一个UserControl内的控件的公共属性?

广东话你只是做:

<ComboBox ItemsSource="{Binding CBItems, ElementName=MyControl}"/> 
... 
<controls:MyUserControl x:name="MyControl" /> 
+0

问题是控件的名称在用户控件定义内部是未知的。 – Peregrine 2012-07-06 07:53:13