クライアントビューをクライアントビュー形式で表示するComboBoxをバインドしようとしています。私は氏名、住所、などのは、テキストボックスにバインドさCurrentClientからすべてのプロパティを持っている私のXAML形式で親が更新されたときのComboBoxの更新
private Client _CurrentClient= null;
public Client CurrentClient
{
get
{
return _CurrentClient;
}
set
{
_CurrentClient= value;
OnPropertyChanged("CurrentClient");
}
}
:私は、プロパティにこのようなCurrentClientを持ってClientUI呼ばコンテキストクラスを持っています。私が行うとき だから:
CurrentClient = SomeClient;
それは自動的に新しいクライアントを表示するために、私のフォーム内のすべてのフィールドを更新します。 は今、私はステータスのリストを持っているし、私のCurrentClientがステータス性質を持っている私のClientUIでクライアントステータスでコンボボックスをバインドしようとしています。 ステータスは、プロパティのクラスでもあり、タイプ文字列です。ここで
私のコンボボックスが結合である:
<ComboBox IsEditable="False" DisplayMemberPath="Name" SelectedItem="{Binding CurrentClient.Status, Mode=TwoWay}" ItemsSource="{Binding ClientStatusList}" SelectedValuePath="Name" />
そして、それは動作しますが、私はこのようCurrentClient.Statusを強制するときには、CurrentClientでproprtyを変更し、コンボボックスを変更したときに...
CurrentClient.Status = ClientStatusList[0]
...コンボボックスに値が表示されます。 問題は、私は
CurrentClient = SomeClient;
を行うときには、すべてではなくてtextBoxコンボボックスを更新しています。
助けてくれてありがとう!
'SomeClient.Status'に値がありますか?また、 'CurrentClient.Status = ClientStatusList [0]'の代わりに 'CurrentClient.Status = SomeClient.Status'を試した結果はどうですか? – sthotakura
ありがとうございました! 'SomeClient.Status'は値を持っていますが、' CurrentClient.Status = SomeClient.Status'を実行しても何も起こりません。 'SomeClient.Status'は新しいステータスに設定されますが、comboBoxは更新されません。 – Lolrapa
'ItemsSource =" {Binding ClientStatusList} "は、' Client'クラスに 'ClientStatusList'というプロパティがあることを意味します。 'ClientStatusList'が何らかの値を持っているかチェックしてください。 – AnjumSKhan