【问题标题】:Select an item from checkedlistbox using wpf,mvvm使用 wpf,mvvm 从选中列表框中选择一个项目
【发布时间】:2012-09-24 10:53:47
【问题描述】:

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

【问题讨论】:

    标签: c# wpf mvvm


    【解决方案1】:

    一般而言,对于TwoWay 绑定,您需要在要绑定的ViewModel 上实现INotifyPropertyChanged 接口。

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

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

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

    【讨论】:

    • 感谢分享快速的想法....我刚刚检查了教程链接,我可能需要一些时间来阅读我现在无法负担的内容....有人可以请快速地表达从代码的角度分享更多的想法......
    猜你喜欢
    • 2012-12-15
    • 2014-05-17
    • 1970-01-01
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多