码迷,mamicode.com
首页 > 其他好文 > 详细

WPF DataGrid动态绑定

时间:2014-08-08 15:23:06      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   for   ar   div   new   

 foreach (DataColumn column in dt.Columns)
            {
                DateTime t;
                if (DateTime.TryParse(column.ColumnName, out t))//判断表头是否为时期格式
                {

                    DataGridTemplateColumn newTemCol = new DataGridTemplateColumn();
                    newTemCol.Header = column.ColumnName;
                    DataTemplate dataTemplate = new DataTemplate();
                    FrameworkElementFactory tbContent = new FrameworkElementFactory(typeof(TextBlock));
                    // 设置内容
                    tbContent.SetValue(TextBlock.TextProperty, new Binding(column.ColumnName));
                    // 文字颜色
                    tbContent.SetValue(TextBlock.ForegroundProperty, Brushes.Black);

                    //如果是小于今天的日期,背景颜色全为灰
                    if ((DateTime.Parse(column.ColumnName)) <= DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")))
                    {
                        // 背景颜色
                        tbContent.SetValue(TextBlock.BackgroundProperty, new SolidColorBrush((Color)ColorConverter.ConvertFromString("#808080")));
                    }
                    else
                    {
                        // 背景颜色
                        Binding bindBackColor = new Binding(column.ColumnName);
                        bindBackColor.Converter = new NowTimeBackGroundColor();
                        bindBackColor.ConverterParameter = column.ColumnName;

                        tbContent.SetValue(TextBlock.BackgroundProperty, bindBackColor);
                    }
                    // 单元格长度,用浮点数。
                    tbContent.SetValue(TextBlock.WidthProperty, 80.0);
                    dataTemplate.VisualTree = tbContent;
                    newTemCol.CellTemplate = dataTemplate;
                    dataGrid1.Columns.Add(newTemCol);
                }
                else
                {
                    DataGridTextColumn newCol = new DataGridTextColumn();
                    newCol.Header = column.ColumnName;
                    newCol.Binding = new Binding(column.ColumnName);
                    dataGrid1.Columns.Add(newCol);
                }
            }
            dataGrid1.ItemsSource = dt.DefaultView;

 

WPF DataGrid动态绑定,布布扣,bubuko.com

WPF DataGrid动态绑定

标签:style   blog   color   os   for   ar   div   new   

原文地址:http://www.cnblogs.com/savant/p/3899048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!