【问题标题】:getting checked checkboxes values mvvm light wpf获取选中的复选框值 mvvm light wpf
【发布时间】:2010-07-29 09:46:00
【问题描述】:

我有一个用户控件,其中将主要类别显示为数据库中的按钮。通过单击主类别按钮,将打开一个新的用户控件,其中包含单击的相应类别中的项目列表。我正在使用 TexbBlock 在 xaml 中绑定该类别的项目名称,并且还显示了每个要选择的项目的复选框。我想在选择它们并单击“完成”按钮后获取复选框的值。复选框值应该是数据库中的项目 ID。如何获取选中的复选框值。

这是相同的 xaml:

                        <!--<Button  Content="{Binding CategoryName}" Margin="5"/>-->
                        <TextBlock Text="{Binding SubCategoryName}" HorizontalAlignment="Center" VerticalAlignment="Top"  />                         
                        <CheckBox Grid.Row="3" />
                    </StackPanel>
                </DataTemplate>
            </ItemsControl.ItemTemplate>

请推荐?

谢谢,

塔伦

【问题讨论】:

    标签: wpf mvvm mvvm-light


    【解决方案1】:

    我认为您需要做的是在 ViewModel 上拥有一个名为“Checked”(或类似的东西)的布尔属性,然后将其绑定到您的复选框

    IsChecked="{Binding Checked, Mode=TwoWay}"
    

    “Mode=TwoWay”表示当您选中 CheckBox 时,绑定将自动更新您的 ViewModel 上的属性。

    希望对你有帮助

    【讨论】:

    • @Ben。单击按钮后如何将选定的复选框值保留在集合中。请推荐?
    • @Tarun,如果您将复选框绑定到您的视图模型,您可以简单地遍历集合并说“如果 MyViewModel.Checked Then...”。有意义吗?
    • @Ben。是的。会尝试让你知道。谢谢
    • @Ben。我试过那个,但没有成功。请详细说明。谢谢。
    • 不成功是什么意思?您能否在 Checked 属性的 Set 上设置断点,并确保当您选中复选框时,它会正确设置属性值?你真的有这个 ViewModel 的集合来迭代吗?
    猜你喜欢
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    相关资源
    最近更新 更多