2016-11-13 15 views
1

クライアントビューをクライアントビュー形式で表示する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コンボボックスを更新しています。

助けてくれてありがとう!

+0

'SomeClient.Status'に値がありますか?また、 'CurrentClient.Status = ClientStatusList [0]'の代わりに 'CurrentClient.Status = SomeClient.Status'を試した結果はどうですか? – sthotakura

+0

ありがとうございました! 'SomeClient.Status'は値を持っていますが、' CurrentClient.Status = SomeClient.Status'を実行しても何も起こりません。 'SomeClient.Status'は新しいステータスに設定されますが、comboBoxは更新されません。 – Lolrapa

+0

'ItemsSource =" {Binding ClientStatusList} "は、' Client'クラスに 'ClientStatusList'というプロパティがあることを意味します。 'ClientStatusList'が何らかの値を持っているかチェックしてください。 – AnjumSKhan

答えて

0

"CurrentClient"プロパティのプロパティが変更されましたが、Clientクラスの "Status"プロパティのプロパティが変更されましたか?そうでない場合は、INotifyPropertyChangedインターフェイスをClientクラスに追加し、プロパティ変更通知をStatusプロパティに追加してください。

プロパティでプロパティが変更されたという通知があったとしても、そのサブプロパティも通知を行うわけではありません。この理由から、点在する特性への結合は、変質する可能性がある。

Clientクラスを編集するオプションがない場合は、プロパティを変更した通知を持つ別の「ステータス」プロパティをclientUIクラスに作成して、「CurrentClient」セッターで設定することができます。この新しいプロパティをより確実にバインドできるはずです

+0

ありがとうございました! 'Client'クラスが' INotifyPropertyChanged'を実装し、 'Status'プロパティが' OnPropertyChanged'を引き起こします – Lolrapa

+0

もし何か助けがなければ –

関連する問題