我是MVVM的新手,我在视图中有一个带有标题列表的checkedlistbox(已将ViewModel中的公开属性绑定到此checkedlistbox控件)...
这是我填充ListCheckBox的XAML代码 -
<ListBox x:Name="lstCode" ItemsSource="{Binding Code,Mode=TwoWay}" Grid.Row="1" Style="{StaticResource ListBoxStyle}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox x:Name="chkBox" IsChecked="{Binding IsChecked,Mode=TwoWay}" Content="{Binding Code_Name}" Margin="0" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
此控件显示正确的项目列表,其中包含列表框中每个项目的复选框...
viewmodel中的代码应该以两种方式工作 - 从数据库获取代码时,它应该自动从listcheckedbox中选择代码,当用户选择一个或多个代码时,viewmodel应该能够知道所选项目......
答案 0 :(得分:1)
通常,对于TwoWay
绑定,您需要在要绑定的ViewModel上实现INotifyPropertyChanged接口。
在这种情况下,您的ViewModel必须提供一个属性,该属性返回您的视图可以绑定到的集合,例如ObservableCollection。
此ObservableCollection
已允许您以自动传达View和ViewModel之间的更改的方式添加,更新和删除该列表中的项目。
对于其他人,我建议开始深入研究MVVM深度。要充分利用WPF的功能,您需要自己了解基础知识。一个很好的起点是这个SO线程:MVVM: Tutorial from start to finish?