1

WPF 4 UserControl では、XAML でサブ コントロールのバインディングを次のように定義できます...

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

ここで、CBItems は UserControl のコード ビハインドで定義されたプロパティです。

ただし、この形式は Windows 8 Metro では使用できません。RelativeSource にはメンバー AncestorType がありません。

Windows 8 でこのタイプのバインドを行うにはどうすればよいですか?

4

2 に答える 2

3

Windows 8 メトロ開発用の再利用可能な複合コンポーネントを作成するには、UserControl ではなく TemplatedControl を使用する方法のようです。

Tim Heuer によるこのブログ投稿には、詳細な例があります。

于 2012-07-06T08:00:13.890 に答える
0

私があなたを正しく理解していればComboBox、同じ内にあるコントロールのパブリック プロパティにあなたの ItemsSource をバインドしたいUserControlですか?

あなたはただできませんか:

<ComboBox ItemsSource="{Binding CBItems, ElementName=MyControl}"/>
...
<controls:MyUserControl x:name="MyControl" />
于 2012-07-05T22:52:10.070 に答える