我想雙擊將項目從「購物清單」複製到「購物車」列表框。現在,我的模型對每個列表只有ObservableCollection字符串,但最終對象會變得更復雜。在WPF MVVM中,如何使用雙擊將項目從一個列表框轉移到另一個列表框?
ViewModel使用DataTemplate映射到視圖。現在,我的ViewModel上只有一個「Session」屬性,它暴露了我的Model中包含ObservableCollections的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的新手,我無法弄清楚如何將項目添加到「Cart」集合中。看起來我應該能夠直接從View中訪問ViewModel Session.CartItems。是一個參數化命令的路要走嗎?如果是這樣,任何推薦的文章?
感謝您的回覆。我認爲一個命令是要走的路。看起來我需要一個參數與命令,但我只使用WPF中迄今爲止參數較少的命令。我會盡可能研究和嘗試。 –
好的。我能夠得到命令(首選方式)工作。但是,首先簡單地從數據上下文中獲取視圖模型是很好的。感謝分享這種語法;當通過數據模板映射視圖模型時,我不確定如何訪問它。我將這個標記作爲答案,因爲它有新手的提示。謝謝! –