「ショッピング リスト」から「ショッピング カート」リスト ボックスにアイテムをダブルクリックしてコピーしたい。現在、私のモデルには各リストの文字列の ObservableCollection しかありませんが、最終的にオブジェクトはより複雑になります。
ViewModel は、DataTemplate を使用してビューにマップされます。現在、ViewModel に「Session」プロパティがあり、両方の ObservableCollection を含むモデルで Session オブジェクトを公開しています。
私はこれを試しました...
<ListBox Name="listBoxShopList" ItemsSource="{Binding Path=Session.Products}">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
<EventSetter Event="MouseDoubleClick" Handler="ListBoxItemMouseDoubleClick"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
<ListBox Name="listBoxCart" ItemsSource="{Binding Path=Session.CartItems, UpdateSourceTrigger=PropertyChanged}"/>
コード ビハインドからイベントを取得し、SelectedItem を取得できます。しかし、MVVM は初めてなので、アイテムを「カート」コレクションに追加する方法がわかりません。ビューができるので、ViewModel Session.CartItems に直接アクセスできるはずです。パラメータ化されたコマンドは進むべき道ですか? もしそうなら、お勧めの記事はありますか?