在GridView列(标题)中的复选框

3

我正在使用一个列表视图 (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>

1
你到目前为止为了实现你的目标做了什么?展示一些你的代码/XAML。 - undefined
用最新的xaml代码更新了我的问题。 - undefined
1个回答

10
要在GridViewColumn的顶部拥有一个复选框,您可以像这样操作:
<GridViewColumn>

 <GridViewColumn.Header>
     <CheckBox/>
  </GridViewColumn.Header>

  <GridViewColumn.CellTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal">
         <CheckBox IsChecked="{Binding IsSelected}" />
      </StackPanel>
    </DataTemplate>
  </GridViewColumn.CellTemplate>
</GridViewColumn>

现在您可以处理检查事件,在代码中您可以遍历itemsSource并更改值,或者如果您遵循MVVM模式,您可以将属性与复选框绑定,这样每当检查更改时,您将通过INotifyPropertyChanged得到通知。一旦通过绑定发现检查已更改,您可以相应地更改itemssource。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接