0

これで、ItemsSourceがオブジェクトのリストに設定されているこのコンボボックスができました。

その後、特定のアイテム(リストの最初)の表示値を変更します。このラベルは、状況によってはコンテキストに適さない場合もあれば、適切な場合もあるためです。

これまでのところ、 Addメソッドを使用してアイテムを追加し、Insertメソッドを使用してアイテムを挿入し、RemoveAtを使用してアイテムを削除できることわかりました。

しかし、どのように更新しますか?後でRemoveAtとInsertを使用できることはわかっていますが、少し手間がかかるだけでなく、すべての値を使用してオブジェクトを再作成する必要があります...

何か案は?

4

1 に答える 1

0

「オブジェクトのリスト」の項目を置き換えるか、次のようにします。

myList[0] = new MyObject("Another display text").

これ(およびAddなどRemove)が機能するためには、リストがObservableCollection<T>を実装するまたはその他のものである必要がありますINotifyCollectionChanged

または、アイテム自体を変更します。

myList[0].DisplayText = "Another display text";

これが機能するためには、MyObjectクラスを実装するINotifyPropertyChanged必要がありPropertyChanged、プロパティが設定されたときにイベントを発生させる必要があり、またはを正しくDisplayText設定する必要があります。DisplayMemberPathItemTemplateComboBox

詳細については、MVVMパターンを参照してください。

于 2012-11-21T11:01:16.193 に答える