DataGrid添加CheckBoxColumn绑定到Command自我实现

要求:DataGrid的CheckBox列单击任CheckBox可以绑定到后台Command,并且单击就能改变
(默认的DataGridCheckBoxColumn需要单击二次,才有勾选,否选效果)

在尝试了自定义CellEditTemplate,DataGridCheckBoxColumn之后选择下面的方法

1,问题Mode=TwoWay,在CellTemplate不起做用 ,所以在后台Command,要赋值,才能达到最终效果

<DataGridTemplateColumn CanUserSort="False" HeaderStyle="{DynamicResource chkAll}" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelect, Mode=OneWay}"
Command="{Binding DataContext.SingleJobSelectCommand,
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
CommandParameter="{Binding}"
HorizontalAlignment="Center" VerticalAlignment="Center" >
</CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

更多相关文章
  • 今天的博客将介绍如何实现ListViewItem双击事件绑定到ViewModel中的Command.实现方法借助了Style中的EventSetter,请看下面的详细代码: ,,, , , , , , ) }); EditCommand = new DelegateCommand(Edit); } ...
  • 项目中用到DataGrid, 需要在第一列添加checkbox, 可以多选.全选.其中涉及的概念DataTemplate, DataGridCellStyle, DataGridCellControlTemplate,Binding, OnPropertyChanged等.有下面是实现思路:1.继承 ...
  • linux网卡别名的添加和绑定RHEL6
    网卡别名的配置: 这个和ifconfig临时修改网卡ip 差不多,但是不一样.都是临时的,只要重启电脑就没了. 配永久的ip别名: cp ifcfg-eth0  ifcfg-eth0:0 vim ifcfg-eth0:0 这样做也能出来,对不对就不知道了 重启网络就ok了 网卡的绑定:虚拟机为2块网 ...
  • 上一篇我们提到如何让“讲述人”读出自定义的CanReadGrid,但“讲述人”仍然无法识别CanReadGrid上绑定的Command.XAML代码如下: <StackPanel> <TextBlock Text="{x:Bind Title,Mode=OneWay}&q ...
  • 继上节所讲,在上一节中,我们讲述了DataGrid绑定webService传输过来的XML数据实体类集合.在本节我们将这个DataGrid移动到 一个ChildWindow中去.然后实现ChildWindow的弹出效果.以及对这个DataGrid的分页效果.实例源代码也是在上一节的基础上做 一些改动 ...
  • 事件是WPF/SL应用程序中UI与后台代码进行交互的最主要方式,与传统方式不同,mvvm中主要通过绑定到命令来进行事件的处理,因此要了解mvvm中处理事件的方式,就必须先熟悉命令的工作原理. 一.RelayCommand命令WPF/SL命令是通过实现 ICommand 接口创建的. ICommand ...
  • 1.安装组件   yum install perl-Time-HiRes rrdtool  rrdtool-perl2.安装pnp4nagios-0.6.24   wget http://jaist.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4 ...
  • VLAN网卡绑定
    原创作品,允许转载,转载时请务必以超链接形式标明文章 软件环境:broadcom网卡 windows 2003 windows 2008 Dotnet3.5 broadcom 管理软件BACSintel 网卡 windows 2003 windows 2008 最新驱动包hp服务器 最新驱动包,hp ...
一周排行
  • 面向对象编程:Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象最为程序基本单元,一个对象包含了数据和操作数据的函数.面向过程的程序设计语言把计算机程序是为一系列命令 ...
  • println();  这个方法写入浏览器头,也可以打字符串 write();这个把资源的内容展现出来,如图片或需下载的文件
  • js悬浮广告收集
    1.高度可设定.<style type="text/css"&g ...
  • CountdownLatch相当于一个倒计时的计数器,当计数到达0时,等待这个计数器的线程就开始执行.下面通过代码看一下CountdownLatch的执行效果. 一个CountdownLatch的例子impor ...
  • 团队项目开发"编码规范"系列文章 发布日期:2011年3月18日星期三作者:EricHu  勤能补拙.笨鸟先飞.        ---------------------------------- ...
  • 针对ffmpeg在android手机平台视频处理慢的情况: 我们直接在ffmpeg的底层增加<硬解码模块>和<硬编码模块>,极大的加速了ffmpeg的解码和编码能力.您可以像指定一个编码器,解 ...
  • /* 3,权限在不同地方的体现: public protected default private 同一类中: ok ok ok ok 同一包中: ok ok ok 子类中: ok ok 不同包中: ok 在同一包中 ...
  • Node.js是一个基于Chrome的JavaScript运行时的用户以轻松构建快速.可扩展的网络应用平台. Node.js使用事件驱动.非阻塞I/ O模型,使它轻量级.高效和完美的适用于运行在分布式设备上的数据密集 ...
  • NetworkCommsV3使用TCP通信传递IList类型的数据
    客户端从服务器获取一组IList<T>类型的数据非常常见(通常从数据库中获取) ...
  • MiniWeb倍数弱点介绍MiniWeb是在C语言写的微型http服务器实施,以低系统资源消耗量为特色,高效率,好灵活性和高轻便.它是可胜任的服务有一条唯一螺纹的广泛客户,支持得到并且张贴方法,认证,动态内容(动态网 ...