我正在使用listview(gridview / gridviewcolumn) 第一列的位置 仅包含每行的复选框。而不是添加我想要的全选按钮 将复选框添加到第一列的标题中。
选择标题中的复选框 所有其他复选框,反之亦然。
我怎么能在xaml中做到这一点?
更新: 这是我的xaml代码的重要部分。 (简化的)
<ListView ItemSource="...">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsSelected}" />
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
答案 0 :(得分:9)
要在GridViewColumn顶部设置一个复选框,您可以执行类似这样的操作
<GridViewColumn>
<GridViewColumn.Header>
<CheckBox/>
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsSelected}" />
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
现在您可以处理check事件,在代码中您可以遍历itemsSource并更改值,或者如果您正在关注MVVM,您可以使用checkbox绑定属性,这样每当检查更改时,您将通过{{1}通知}。一旦您通过绑定发现检查已更改,再次可以相应地更改您的项目源