listview复选框绑定wpf MVVM

时间:2018-02-23 13:44:04

标签: wpf listview mvvm

我正在尝试获取Listview中存在的复选框的bool值。我绑定了bool公共财产" Assignm"在视图模型中。我尝试了下面的绑定模式,但问题是,如果我选择一个复选框,它会选择所有复选框,反之亦然。我认为这是因为relativesource是listview,它适用于完整的listview。我也尝试将相对源更改为ListviewItem,但没有触发任何内容。有谁可以帮助我吗。我需要在这里改变一下吗?

  <GridViewColumn.CellTemplate>
  <DataTemplate>
  <CheckBox  Tag="{Binding MU_Identifier}" IsChecked="{Binding DataContext.Assignm, RelativeSource={RelativeSource FindAncestor, AncestorType=ListView}}">
 </CheckBox>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>

2 个答案:

答案 0 :(得分:1)

因为IsChecked属性的绑定是Assignm属性,它似乎是视图模型的一个属性。

如果ListView的Assignm的数据模型有一个名为DataSource的布尔属性,那么只需改变这样的绑定:{Binding Assignm},作为Tag属性确实

答案 1 :(得分:0)

所有商品都绑定到一个属性,因此当一个商品更改您的上下文中的属性时,它会更改其他商品。

为了提供正确的工作,ItemsSource中的所有商品都应具有IsChecked属性。 请检查此Example