私は次のようにビューモデルでのObservableCollectionを定義します。次に、このリストボックスのための複数選択を可能にINotifyCollectionChanged/ObservableCollectionのコードでCollectionChangedイベントを発生させるには?
<i:Interaction.Behaviors>
<My:ListBoxSelectedItemsBehavior SelectedItems="{Binding MyList, Mode=TwoWay}" />
</i:Interaction.Behaviors>
:その後、私は次のように行動してリストボックスのためにselectedItemsのにバインドしようと
//private ObservableCollection<MyObject> _myList;
public ObservableCollection<MyObject> MyList {get;set;}
。ユーザーがマウスを使って複数の項目を選択した場合は問題ありません。
質問:最初にデータベースに格納されたアイテムデータが選択されています。データがデータベースから取得されたときに、私はCollectionChangedを起動し、selectedItemをUIで選択して表示する必要があります。データがロードされたときにMyListのViewModelでRaisePropertyChangedを実行したにもかかわらず、UIは選択したアイテムを表示しません。アプリケーションをデバッグした後、MyListがロードされていることがわかりました.ViewModelのMylistでCollectionChangedが発生しましたが、MyListにバインドされていてもListBoxSelectedItemsBehaviorのSelectedItemsというバインディングアイテムに対してCollectionChangedイベントが発生しませんでした。
この問題を解決するにはどうすればよいですか?
あなたのコードスニペットは意図的に '_myList'メンバーを無視していますか?あなたのプロパティ「MyList」は、技術的に私用変数を全く使用しません。 – Tejs