在wpf中查找gridview中的复选框
本文关键字:复选框 gridview 查找 wpf | 更新日期: 2023-09-27 18:03:10
我有以下代码:
<ListView Name="lvwYears"
Margin="0,32,191,29"
ItemsSource="{Binding Path=YearCollection}">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumnHeader>
<CheckBox Click="CheckBox_Checked"
HorizontalAlignment="Left"
Content="Year"
Padding="50,0,0,0"
Margin="20,0,0,0"></CheckBox>
</GridViewColumnHeader>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Click="CheckBoxIndividual_Click"
Name="cbxYears"
VerticalAlignment="Center"
Content="{Binding}"
HorizontalAlignment="Left"
Padding="50,0,0,0"
Margin="20,0,0,0" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
我想遍历复选框,并在GridViewcolumnHeader中的CheckBox被选中时检查它们。我尝试过使用VisualTree并且失败了,我得到的错误是元素必须是Visual或Visual3D。
任何帮助都将非常感激。谢谢!
如果不将复选框的IsChecked绑定到某个东西上,那么选中复选框是没有意义的。将ItemsSource更改为带有整型和bool型的结构体集合。当复选框被选中时,遍历并将所有bool设置为true。
如果你真的坚持要保留你的整数列表,那么作为一个总的hack,你可以在每个复选框中使用Loaded事件将其记录在一个列表中,然后在顶部复选框被选中时检查列表中的所有内容,但我不建议这样做。