c# - gridviewcolumn 中的复选框(标题)

标签 c# wpf listview gridview checkbox

我正在使用 ListView ( GridView / GridView 列) 第一列在哪里 每行仅包含复选框。而不是添加我想要的全选按钮 将复选框添加到第一列的标题中。

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

我如何在 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>

最佳答案

要在 GridViewColumn 顶部有一个复选框,您可以这样做

<GridViewColumn>

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

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

现在您可以处理检查事件,并且在代码中您可以遍历您的 itemsSource 并更改值,或者如果您使用 MVVM,您可以将属性与复选框绑定(bind),这样每当检查发生更改时,您将通过 INotifyPropertyChanged 收到通知。一旦您通过绑定(bind)发现检查已更改,您可以再次相应地更改您的 itemssource

关于c# - gridviewcolumn 中的复选框(标题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6034577/

相关文章:

c# - 有什么方法可以使用更多泛型来简化这段代码吗?

c# - ASP.NET MVC 5 - 获取当前 View 的名称(Razor .cshtml 端)

java - Android ListView 只显示最新的项目

c# - 在WPF C#中画一条直线

android - Android 位图上的圆底角?

android - 如何从适配器中消除 DialogFragment?

c# - 什么算法可以将文本分解成它的组成词?

c# - 使用 Process.Start() 打开文件夹时访问被拒绝异常

c# - 当我在我的 WPF 窗口中放置一个文本框或按钮时,它是使用 DirectX 还是 User32 呈现的?

c# - 如何阻止 RichTextBox Inline 在 TextChanged 中被删除?