gridviewcolumn中的复选框(标题)

时间:2011-05-17 17:16:24

标签: c# wpf listview gridview checkbox

我正在使用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>

1 个答案:

答案 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}通知}。一旦您通过绑定发现检查已更改,再次可以相应地更改您的项目源