我有一個子控件嵌入我的主控制器,它允許用戶編輯地址。因爲這是重複使用所有的地方(有時在多個位置上的一個控制),我結合它像這樣如何將數據綁定到控件的屬性而不是datacontext?
<Controls:EditAddressUserControl DataContext="{Binding Path=HomeAddress}"/>
<Controls:EditAddressUserControl DataContext="{Binding Path=WorkAddress}"/>
但EditAddressUserControl需要訪問CountrySummary對象的主要控制的列表,以便它可以選擇哪個國家的地址屬於。
我添加了一個國家的DependencyProperty到EditAddressUserControl並添加
Countries="{Binding Countries}"
到目前爲止,一切都進展順利,該EditAddressUserControl.Countries酒店有正確的國家吧。但是,如何將我的Combobox.ItemsSource綁定到XAML中?
我仍然希望EditAddressUserControl上的所有東西都綁定到它的DataContext,但是ComboBoxCountries.ItemsSource需要綁定到「this.Countries」。
我如何做到這一點?
我已經試過這
<ComboBox ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Controls:EditAddressUserControl}}, Path=Countries}" />
我看到在輸出框中沒有約束力的錯誤,但我也看到在下拉列表中沒有物品。
是「EditAddressUserControl」的子控件還是父控件?你應該在AncestorType中指定父親 – arconaut 2010-02-01 19:40:37
EditAddressUserControl是嵌入式控件 – 2010-02-02 10:35:47