gridviewcolumn中的复选框(标题)

Fer*_*hat 2 c# wpf checkbox listview gridview

我正在使用listview(gridview/gridviewcolumn),其中第一列仅包含每行的复选框.我没有添加全选按钮,而是将Checkbox添加到第一列的标题中.

选择标题中的复选框将选中所有其他复选框,反之亦然.

我怎么能在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>
Run Code Online (Sandbox Code Playgroud)

Har*_*san 9

要在GridViewColumn顶部有一个复选框,您可以执行类似的操作

<GridViewColumn>

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

  <GridViewColumn.CellTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal">
         <CheckBox IsChecked="{Binding IsSelected}" />
      </StackPanel>
    </DataTemplate>
  </GridViewColumn.CellTemplate>
</GridViewColumn>
Run Code Online (Sandbox Code Playgroud)

现在您可以处理检查事件,在代码中您可以遍历itemsSource并更改值,或者如果您正在关注MVVM,则可以使用checkbox绑定属性,以便每当更改检查时,您将收到通知INotifyPropertyChanged.一旦您通过绑定发现检查已更改,再次可以相应地更改您的项目源