public DataGrid CreateDataGrid()
{
//自定义DataGrid
DataGrid dataGrid = null;
dataGrid = new DataGrid(); dataGrid.Height = ;
dataGrid.Margin = new Thickness(, , , );
dataGrid.IsReadOnly = true;
dataGrid.AutoGenerateColumns = false;
dataGrid.CanUserResizeColumns = false;
System.Windows.Data.Binding binding = null;
binding = new System.Windows.Data.Binding("E_ID");
binding.Mode = System.Windows.Data.BindingMode.OneWay;
DataGridTextColumn dgtcE_Id = null;
dgtcE_Id = new DataGridTextColumn();
dgtcE_Id.Header = "列头1";
dgtcE_Id.Width = ;
dgtcE_Id.Visibility = Visibility.Collapsed;
dgtcE_Id.Binding = binding;
dataGrid.Columns.Add(dgtcE_Id);
binding = new System.Windows.Data.Binding("E_Type");
binding.Mode = System.Windows.Data.BindingMode.OneWay;
DataGridTextColumn dgtcE_Type = null;
dgtcE_Type = new DataGridTextColumn();
dgtcE_Type.Header = "列头2";
dgtcE_Type.Width = ;
dgtcE_Type.Binding = binding;
dataGrid.Columns.Add(dgtcE_Type);
binding = new System.Windows.Data.Binding("E_TypeName");
binding.Mode = System.Windows.Data.BindingMode.OneWay;
DataGridTextColumn dgtcE_TypeName = null;
dgtcE_TypeName = new DataGridTextColumn();
dgtcE_TypeName.Header = "列头3";
dgtcE_TypeName.Width = ;
dgtcE_TypeName.Binding = binding;
dataGrid.Columns.Add(dgtcE_TypeName);
binding = new System.Windows.Data.Binding("E_State");
binding.Mode = System.Windows.Data.BindingMode.OneWay;
DataGridTextColumn dgtcReveaState = null;
dgtcReveaState = new DataGridTextColumn();
dgtcReveaState.Header = "列头4";
dgtcReveaState.Width = ;
dgtcReveaState.Binding = binding;
dataGrid.Columns.Add(dgtcReveaState); //DataGrid中Column的内容居中
Style styleRight = new Style(typeof(TextBlock));
Setter setRight = new Setter(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Center);
styleRight.Setters.Add(setRight);
foreach (DataGridColumn c in dataGrid.Columns)
{
DataGridTextColumn tc = c as DataGridTextColumn;
if (tc != null)
{
tc.ElementStyle = styleRight;
}
} //表头居中
Style style = new Style(typeof(DataGridColumnHeader));
setRight = new Setter(DataGridColumnHeader.HorizontalContentAlignmentProperty, HorizontalAlignment.Center);
style.Setters.Add(setRight);
dataGrid.ColumnHeaderStyle = style; return dataGrid;
}

设置满足某条件行的背景色

private void datagrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
var drv = e.Row.Item as DataRowView;
switch (drv["ID"].ToString())
{
case "": e.Row.Background = new SolidColorBrush(Colors.Green);
break;
case "": e.Row.Background = new SolidColorBrush(Colors.Yellow);
break;
case "": e.Row.Background = new SolidColorBrush(Colors.CadetBlue);
break;
}
}

WPF 后台添加DataGrid的更多相关文章

  1. C# WPF后台动态添加控件(经典)

    概述 在Winform中从后台添加控件相对比较容易,但是在WPF中,我们知道界面是通过XAML编写的,如何把后台写好的控件动态添加到前台呢?本节举例介绍这个问题. 这里要用到UniformGrid布局 ...

  2. WPF后台设置xaml控件的样式System.Windows.Style

    WPF后台设置xaml控件的样式System.Windows.Style 摘-自 :感谢 作者: IT小兵   http://3w.suchso.com/projecteac-tual/wpf-zhi ...

  3. WPF 控件DataGrid绑定

    WPF 手动绑定 DataGrid 例子:前台:<DataGrid AutoGenerateColumns="False" Name="dataGrid1" ...

  4. WPF 自带Datagrid编辑后无法更新数据源的问题

    原文  WPF 自带Datagrid编辑后无法更新数据源的问题 解决办法: 在列的绑定属性里加上UpdateSourceTrigger,示例XAML如下 <DataGrid Grid.Row=& ...

  5. Asp.net 后台添加CSS、JS、Meta标签

    Asp.net 后台添加CSS.JS.Meta标签的写法,我这里写成函数方便以后使用.如果函数放在页面类中, Page参数也可以不要. 首先导入命名空间 using System.Web.UI.Htm ...

  6. Ecshop:后台添加新功能栏目以及管理权限设置

    一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: $modules['17_other_menu']['sns_list'] ...

  7. DEDE后台添加新变量出现:Request var not allow!的解决办法 相关案例演

    论坛上很多人都反馈说在后台添加新变量的时候会出现 "Request var not allow!" 的BUG错误,本文主要就是介绍如何去解决这个问题!下面看具体操纵:在DEDE根目 ...

  8. WPF 中获取DataGrid 模板列中控件的对像

    WPF 中获取DataGrid 模板列中控件的对像 #region 当前选定行的TextBox获得焦点 /// <summary> /// 当前选定行的TextBox获得焦点 /// &l ...

  9. jquery.validate.js使用说明——后台添加用户邮箱功能:非空、不能重复、格式正确

    重点内容为:  jQuery验证控件jquery.validate.js使用说明+中文API[http://www.tuicool.com/articles/iABvI3] 简单教程可以参考[jQue ...

随机推荐

  1. 关于浏览器的eventflow(capture and bubble up)

    因为,没有全面的学习javascript,及其事件原理: 全占的课程:4-5 浏览器 Bubble Up 事件模型中 不是很理解它所讲的.网上查找相关知识点.记录中在博客中: 理解了JS的加载 htt ...

  2. Hive之序列化与反序列化(SerDe)

    序列化与反序列化的作用 1,序列化是对象转化为字节序列的过程: 2,反序列化是字节码恢复为对象的过程: 序列化的作用主要有两个: (1),对象向的持久化:即把对象转换成字节码后保存文件: (2),对象 ...

  3. 浅析parseInt与parseFloat的区别

    parsetInt与parseFloat的区别还是很大的,简单来说,parseInt解析字符串为整数,parseFloat解析字符串为小数. 首先说parseInt() 1.可以接受两个参数,第一个为 ...

  4. How to get the full error stack trace of SharePoint

    博客地址 http://blog.csdn.net/foxdave SharePoint开发,怎么得到真实的详细错误信息. 大家在开发遇到页面报错需要提问的时候,先将详细错误信息获取到再提问,谢谢. ...

  5. FIS 的思想和优点

    资源表 各种性能优化算法的加载框架 依赖声明有助于组件化 资源自动合并 链接 与webpack对比

  6. CH1808 Milking Grid

    题意 POJ2185 数据加强版 描述 Every morning when they are milked, the Farmer John's cows form a rectangular gr ...

  7. streamsets Executors 说明

    执行程序阶段在收到事件时触发任务.执行者不会写入或存储事件. 将执行程序用作事件流中数据流触发器的一部分,以执行事件驱动的与管道相关的任务,例如在目标关闭时移动完全写入的文件. 可以使用的execut ...

  8. FastAdmin 是如何利用 Git 管理插件代码的?

    FastAdmin 是如何利用 Git 管理插件代码的? 由于 FastAdmin 的插件很多,如果每一个插件用一个项目来管理,可以倒是可以,但是项目还多了. 但是如果使用文件夹在同一级的的方式又不方 ...

  9. FastAdmin Bootstrap-Table 关于客户端模式(由 计算所有页的的总数引发的思考)

    Bootstrap-Table 关于客户端模式(由 计算所有页的的总数引发的思考) 昨天群里有小伙伴询问 Bootstrap-Table 有没有计算所有页的总数. [吐槽]★隔壁老王-杭州 @F4NN ...

  10. 【转】ubuntu中没有/etc/inittab文件探究

    原文网址:http://blog.csdn.net/gavinr/article/details/6584582 linux 启动时第一个进程是/sbin/init,其主要功能就是软件执行环境,包括系 ...