WPF中DataGrid实现全选
来源:互联网 发布:言论自由的界限 知乎 编辑:程序博客网 时间:2024/05/16 14:33
方法一:使用模板列
前台代码如下
<DataGrid Grid.Row="2" Name="dgPersonList" BorderThickness="0" Grid.ColumnSpan="2" Margin="0,5,0,0" SelectionChanged="dgPersonList_SelectionChanged"><DataGrid.Columns ><DataGridTemplateColumn Header="" Width="40"><DataGridTemplateColumn.CellTemplate><DataTemplate><CheckBox Name="chk" VerticalAlignment="Center" HorizontalAlignment="Center" IsChecked="{Binding IsChecked,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" /></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns ></DataGrid>
后台实现如下
DataGridTemplateColumn templeColumn = dgPersonList.Columns[0] as DataGridTemplateColumn;FrameworkElement fwElement = dgPersonList.Columns[0].GetCellContent(dgPersonList.SelectedItem);CheckBox cBox = templeColumn.CellTemplate.FindName("chk", fwElement) as CheckBox;cBox.IsChecked = !cBox.IsChecked;
方法二:INotifyPropertyChanged属性通知
public class Person : INotifyPropertyChanged { private bool _IsChecked = false; public bool IsChecked { get { return _IsChecked; } set { _IsChecked = value; NotifyPropertyChanged(); } }public event PropertyChangedEventHandler PropertyChanged; //此方法在每个属性的set中调用 //在可选参数propertyName上应用CallerMemberName特性 //调用此方法时,调用方的信息将替换为可选参数的参数,即在set中调用此方法,propertyName="当前属性的名称" public void NotifyPropertyChanged([CallerMemberName] String propertyName = "") { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } }}
后台代码
var person = dgPersonList.SelectedItem as Person; person.IsChecked = true;
题外话:
两种方法也可以混用,使用第一方法的前台,第二方法的后台,只需要加上
dgPersonList.Items.Refhresh();
0 0
- WPF中DataGrid实现全选
- WPF-DataGrid中CheckBox实现全选与非全选
- WPF中DataGrid 添加checkbox实现全选、多选
- WPF datagrid 全选全不选
- WPF datagrid 全选全不选
- wpf中为DataGrid添加checkbox支持多选全选
- datagrid中checkbox全选
- WPF中 checkbox全选
- wpf DataGrid CheckBox 变相的全选
- WPF DataGrid表头Checkbox 全选与全反选
- WPF DataGrid表头Checkbox 全选与全反选
- JavaScript实现DataGrid中添加CheckBox列(全选与否)
- JavaScript实现DataGrid中添加CheckBox列(全选与否)
- 如何在DATAGRID中一个按钮实现全选或全不选
- JavaScript实现DataGrid中添加CheckBox列(全选与否)
- JavaScript实现DataGrid中添加CheckBox列(全选与否)
- javascript 实现 DataGrid中复选框的全选
- JavaScript实现DataGrid中添加CheckBox列(全选与否)
- 汉诺塔问题
- 07_01020304_linux vi
- 分页的分页加搜索功能技术演示
- 数据结构实验:连通分量个数
- 那些年没有躲过的Appium的坑
- WPF中DataGrid实现全选
- IntelliJ Idea的黑色主题+代码高亮
- Linux memcache
- oracle sql 实现三张表左连接查询
- Java学习(让我记录下这有趣的故事:2016/11/18)
- 平面解析几何又一题
- Spring定时器跑批时间设置
- [C++]Jsoncpp的使用
- Spring(四):spring mvc模型数据传递、请求参数处理