2017-03-15 221 views
4

我有選項卡的列表,標籤是:WPF綁定到組合框

public class Tab 
{ 
    public int Id {get; set;} 
    public string Name {get; set} 
    public List<country> Country {get; set;} 

} 

現在,我想將它綁定兩個組合框: 第一組合框是好的,但在第二個我想顯示的國家列表。

<custom:ComboBox Title="Tab" 
       ItemsSource="{Binding Tabs, Mode=TwoWay}" 
       ValuePath="Id" 
       Value="{Binding Model.Id, Mode=TwoWay}" 
       DisplayPath="Name" 
       IsEnabled="{Binding IsEnabled, Mode=TwoWay}"/> 


<custom:ComboBox Title="Country" 
       SelectedItem="{Binding Model.Country, Mode=TwoWay}" 
       ItemsSource="{}" 
       DisplayPath="CountryName" 
       IsEnabled="{Binding IsEnabled, Mode=TwoWay}"/> 

如何在第二個組合框中設置ItemsSource,當我知道Id。 是另一種方式比創建變量,像selectedList,然後綁定到它?

編輯

enter image description here

我創造新的對話框,我送模型標籤ID和對話框方面有選項卡列表。

回答

4

x:Name="FirstComboBox"給你的第一ComboBox名稱和改變你的第二ComboBoxto ItemsSource="{Binding ElementName=FirstComboBox, Path=SelectedItem.Country}"ItemsSource

只是一個提示:綁定xaml集合時使用ObservableCollection<T>而不是List<T>

+0

第二個組合框僅在我從第一個組合框手動選擇值時重新加載。當我自動綁定,第二個組合框是空的,那麼我必須首先從組合框中選擇值,然後第二個組合框有值。我應該使用UpdateSourceTrigger = PropertyChanged或其他什麼 – dMilan

+0

要更新第二個組合框,我必須先點擊進入。如何自動更新第二個組合框? – dMilan

+0

你是什麼意思自動? –