情况是这样的,我做了个简单的控件,并在里面用一个属性来获取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控件
temp_text不是依赖属性,非依赖对象绑定时要实现INotifyPropertyChanged接口。
你有两种选择,一种是将temp_text改为依赖属性;另一种就是实现INotifyPropertyChanged接口,在temp_text属性的set中触发PropertyChanged事件
谢啦,朋友,你的意思我明白了。具体怎么做我再上网去查一下。