首页新闻找找看学习计划

wpf datagrid 数据绑定完成事件

0
[待解决问题]

由于项目需要,在wpf中绑定datagrid的数据源之后,要在后台对显示的数据进行操作,但怎么也找不到关于数据绑定完成的事件,直接在绑定代码后取行中的控件得到的是null,怎么办?

问题补充:

代码如下:

  

this.gd_Projects.ItemsSource = DAL.ProjectDAL.GetProsByName(name, "", "", "");

foreach (var o in this.gd_Projects.Items)
{
TextBlock tb = this.gd_Projects.Columns[0].GetCellContent(o) as TextBlock;
if (tb != null)
{
tb.Text = "";
}
}

 

foreach循环里的代码直接带绑定时使用,就会得到null,如果等绑定结束后,手动点一个按钮触发这段代码就能正确获取控件

西西里的晚祷的主页 西西里的晚祷 | 初学一级 | 园豆:2
提问于:2013-06-26 16:59
< >
分享
所有回答(2)
0

没有绑定完成这么一说,你要在xaml中binding了,后面直接操作就行了,要是在后台设置itemsource,设置完了就能直接操作。至于取行中的控件得到null,有两种可能,绑定有问题,取控件有问题。 建议贴代码

WuRang | 园豆:1730 (小虾三级) | 2013-06-26 17:04

问一下

this.gd_Projects.ItemsSource = DAL.ProjectDAL.GetProsByName(name, "", "", "");
foreach (var o in this.gd_Projects.Items)
{
TextBlock tb = this.gd_Projects.Columns[0].GetCellContent(o) as TextBlock;
if (tb != null)
{
tb.Text = "";
}
}

这段代码写在程序的什么位置?构造函数的 InitializeComponent();之前?

支持(0) 反对(0) WuRang | 园豆:1730 (小虾三级) | 2013-06-26 17:18

@WuRang: 这段代码是在点击查询按钮时触发的

支持(0) 反对(0) 西西里的晚祷 | 园豆:2 (初学一级) | 2013-06-26 17:22

@西西里的晚祷: 你的意思是这段代码一起执行就会得不到控件,先写

this.gd_Projects.ItemsSource = DAL.ProjectDAL.GetProsByName(name, "", "", "");
然后按钮执行
foreach (var o in this.gd_Projects.Items)
{
TextBlock tb = this.gd_Projects.Columns[0].GetCellContent(o) as TextBlock;
if (tb != null)
{
tb.Text = "";
}
}就可以了么?
    
支持(0) 反对(0) WuRang | 园豆:1730 (小虾三级) | 2013-06-26 17:25

@WuRang: 对的,所以我需要找到像winform中的datagrid的数据绑定完成事件,才能做到这一点

支持(1) 反对(0) 西西里的晚祷 | 园豆:2 (初学一级) | 2013-06-26 17:28
0

wpf 没有绑定完成一说吧。 如果想实现你的功能 请转化思路。  你对wpf 理解有误,  不能安装winform 那套来写,。 要让数据驱动UI。  

kotl | 园豆:5 (初学一级) | 2013-06-27 09:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册