<DataGrid>
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.Header>
<CheckBox Name="CheckALL" />
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Name="chkDiscontinue" IsChecked="{Binding Path=IsChecked, ElementName=CheckALL, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我可以点击标题复选框并选中所有复选框,但是在这里,我需要将所有选中的网格绑定到&#39; IsChecked&#39;
答案 0 :(得分:1)
在这个视图的datacontext中,你可以通过这样做得到 -
Your_Item_Source.Where(p=>p.Checked)
在OrderHeader类中,创建一个属性
public bool IsSelected {get;set;} // with inotify please
然后将你的组合框chkDiscontinue绑定到
{Binding IsSelected}
将您的标题复选框绑定到ViewModel属性
public bool SelectAll {get;set;} // with inotify please
在此属性的setter中,在AllOrderHeader中设置所有OrderHeader.IsSelected =值,在getter中,您可以返回AllHeaders中项目的状态
答案 1 :(得分:0)
除了Muds所说的,如果你想将IsChecked绑定到SelectAll,你应该使用类似的东西:
Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, Path= DataContext.SelectAll}
很抱歉没有发布回复,但我没有足够的分数:)