1

我是 MVVM 的新手,我在带有标题列表的视图中有一个选中列表框(已将 ViewModel 中的公开属性绑定到此选中列表框控件)...

这是我填充 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 应该能够知道项目选择...

4

1 回答 1

1

通常,对于TwoWay绑定,您需要在要绑定到的 ViewModel 上实现INotifyPropertyChanged接口。

在这种情况下,您的 ViewModel 必须提供一个属性,该属性返回您的视图可以绑定到的集合,例如ObservableCollection

ObservableCollection已经允许您以自动传达 View 和 ViewModel 之间更改的方式添加、更新和删除该列表中的项目。

对于其余部分,我建议开始深入研究 MVVM 深度。要充分利用 WPF 的功能,您需要自己了解基础知识。一个很好的起点是这个 SO 线程:MVVM:从头到尾的教程?

于 2012-09-24T12:02:19.580 回答