经常看到群里面要实现DataGrid全选,例如点击SelectAll 那一列都会被选中,

  你一定会想到写个style 然后在后台代码中去找到style中的Checkbox,然后在后台代码

中Binding以下就OK了!

  不,不,不,这太繁琐了而且有很多不确定的因素。

  现在好玩的来了,可以在后台不写任意一行代码就可以实现这个效果,嗯甚至不需要写style …神奇么?我们来揭开谜底把;-)     

       先在Blend拖一个简单的DataGrid 然后新建一个示例数据,这些很简单就不在累述了

        

好了下面是最关键的时刻了

给这个DataGrid添加一个新的DataGridCheckboxColumn,效果如下:

 

然后我们拖一个CheckBox上去,(聪明的你因该想到了把如何实现效果了把嘿嘿),调整下Width,效果如下

最后选中我们新加的那一列,在属性面板找到Binding→数据绑定→选中我们新加的CheckBox→属性里面的IsChecked,确保Model是OneWay…,

然后要注意

IsReadOnly="False" 大功告成,运行一下看下效果吧

怎么样是不是很简单,很好玩?大家开动脑筋去解决更好玩的问题把

如果同时设置了 DataGridColumn.IsReadOnly 属性和 DataGrid.IsReadOnly 属性,则值 true 将优先于值 false。

Demo下载

 posted on 2011-05-10 10:01  沐訫  阅读(880)  评论(0)    收藏  举报