我无法使用WPF完成绑定。
我有一个与此类似的模型类:
public class DataModel
{
private double _temp;
public double Temperature
{
set
{
_temp= value;
OnPropertyChanged("Temperature");
}
get { return this._temp; }
}
}
此模型派生自类BaseDataModel
public abstract class BaseDataModel
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
var e = new PropertyChangedEventArgs(propertyName);
handler(this, e);
}
}
}
我现在在另一个名为DataViewModel的类中有一个DataModel对象列表,List名为" Values"。在该类上面的类中,我有一个需要在运行时动态创建的UserControl,因此绑定在后面的代码中完成,如下所示:
在列表上方的某处:
DataViewModel model = new DataViewModel();
和绑定本身:
curbinding = new Binding();
curbinding.Source = model.Values;
curbinding.Path = new PropertyPath("Temperature");
curbinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
myTextBox.SetBinding(TextBox.TextProperty, curbinding);
我知道PropertyChanged已被触发,但文本框的值未更新。我无法弄清楚为什么?当我第一次创建bindig时,文本框的文本会更新,但是当我更改Temperature的值时,没有任何反应。 我没有想到什么吗?
我不得不说,该应用程序有很多其他类,并且更复杂,但正如我所说,值会更新一次,而不会再次更新。
答案 0 :(得分:0)
如果您没有阅读评论,我只是忘了实施INotifyPropertyChanged ......