WPF后台为DataGrid第一列使用DataTemplate和CheckBox配合添加选择功能

       //-------------添加选择列
       //--dgrid为DataGrid实例对象,
Row_Checked是响应事件。
            DataGridTemplateColumn dgtc = new DataGridTemplateColumn();
            dgtc.Header = "选择";
            DataTemplate dt = new DataTemplate();
            //定义子元素
            FrameworkElementFactory fef = new FrameworkElementFactory(typeof(CheckBox));
            binding = new Binding("Check");
            fef.SetValue(CheckBox.IsCheckedProperty,binding);
            fef.SetValue(CheckBox.ForegroundProperty, Brushes.Red);
       //关键部分,为每一项添加事件理解
AddHandler的用法
       fef.AddHandler(CheckBox.CheckedEvent,new RoutedEventHandler(Row_Checked));
       dt.VisualTree = fef;//添加子元素
       dgtc.CellTemplate = dt;
       dgrid.Columns.Add(dgtc);//将第一列添加到数据表

上面一段代码我琢磨了一天,我相信前台XAML能实现的东西,在后台一定可用生成,关键是理解内部结构。前台的一个属性可能是直接写在标签里面就那么简单,

后台可能就要实例对象,配置属性,一层层添加对象,最后添加到主对象完成。

转载于:https://www.cnblogs.com/qwhh/p/5355849.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值