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能实现的东西,在后台一定可用生成,关键是理解内部结构。前台的一个属性可能是直接写在标签里面就那么简单,

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM