2017-03-15 7 views
4

への結合:WPFは、私はタブがあるタブのリストを持っているコンボボックス

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

} 

、私は2つのコンボボックスにバインドします: まずコンボボックスはOKですが、2番目に、私は、国のリストを表示したいです。

<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}"/> 

設定方法Items私はIdを知っているときに2番目のコンボボックスでソースを設定します。 selectedListのようにvaribleを作成してバインドする以外の方法はありますか?

EDIT

enter image description here

私は新しいダイアログボックスを作成していると私は、タブIDとダイアログボックスコンテキストにモデルを送っていますが、タブのリストを持っています。

答えて

4

x:Name="FirstComboBox"であなたの最初のComboBox名前を付け、二ComboBoxto ItemsSource="{Binding ElementName=FirstComboBox, Path=SelectedItem.Country}"のごItemsSourceを変更します。

ヒント:xamlのバインディングコレクションにList<T>の代わりにObservableCollection<T>を使用してください。

+0

2番目のコンボボックスは、最初のコンボボックスから手動で値を選択したときにのみリロードされます。私が自動的にバインドすると、2番目のコンボボックスが空です。次に、コンボボックスの値を最初に選択し、次に2番目のComboxの値を選択する必要があります。私はUpdateSourceTrigger = PropertyChangedまたは何かを使うべきですか – dMilan

+0

2番目のコンボボックスを更新するには、最初にクリックする必要があります。 2番目のコンボボックスを自動的に更新するには? – dMilan

+0

自動的にどういう意味ですか? –

関連する問題