我正在尝试获取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>
答案 0 :(得分:1)
因为IsChecked
属性的绑定是Assignm
属性,它似乎是视图模型的一个属性。
如果ListView的Assignm
的数据模型有一个名为DataSource
的布尔属性,那么只需改变这样的绑定:{Binding Assignm}
,作为Tag
属性确实
答案 1 :(得分:0)
所有商品都绑定到一个属性,因此当一个商品更改您的上下文中的属性时,它会更改其他商品。
为了提供正确的工作,ItemsSource中的所有商品都应具有IsChecked属性。 请检查此Example