首页 新闻 搜索 专区 学院

WPF Binding 问题

0
悬赏园豆:10 [已解决问题] 解决于 2012-02-02 15:58

情况是这样的,我做了个简单的控件,并在里面用一个属性来获取textblock的.text值,然后把它Binding到主窗体的textblock.tag上。

用来存放控件中text值的属性大概是这个样子: public string temp_text{get;set;}

 

现在的问题是,我用我想的方法,把值选传到temp_text中,在主窗体中binding就不行,显示为null.但在控件中加断点显示那个属性有值。

但是如果我直接绑定到控件中textblock.text上时,就有值显示。望众为高手能为小弟解惑。

 

对了,我用来绑定时失败的绑定误句

t_txt_cmd.SetBinding(TextBox.TextProperty, new Binding("temp_text") { Source = model});  //model 是我建立的控件的名称

 

这是成功的语句

t_txt_cmd.SetBinding(TextBox.TextProperty, new Binding("Text") { Source = model.text_cmd});     //text_cmd 是我在自定义控件中加的TextBlock控件

共鸣的主页 共鸣 | 初学一级 | 园豆:155
提问于:2011-12-27 15:54
< >
分享
最佳答案
0

temp_text不是依赖属性,非依赖对象绑定时要实现INotifyPropertyChanged接口。

你有两种选择,一种是将temp_text改为依赖属性;另一种就是实现INotifyPropertyChanged接口,在temp_text属性的set中触发PropertyChanged事件

收获园豆:10
火必烈 | 菜鸟二级 |园豆:227 | 2012-01-07 22:22

谢啦,朋友,你的意思我明白了。具体怎么做我再上网去查一下。

共鸣 | 园豆:155 (初学一级) | 2012-02-02 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册