【发布时间】:2013-02-28 19:52:36
【问题描述】:
假设我有一个绑定到 TextBlock 的属性。假设绑定看起来像这样:
public string Data
{
get { return _text; }
set
{
_text = value;
OnPropertyChanged("Data");
}
}
如果我说Data = "blue"; 在我的代码中的其他地方,为什么我必须再次说OnPropertyChanged("Text");?如果我不第二次添加 OnPropertyChanged,它将不会自动更新。我认为由于我在 set 访问器中执行 OnPropertyChanged,它会在我为属性分配某些内容时自动更新视图?
【问题讨论】:
-
你有没有在 set 访问器中设置断点来验证代码是否在运行时
.Data = "blue";可能不是你认为的同一个类。 -
什么?属性名称
Data和OnPropertyChanged()中的属性名称不匹配。我不明白你在这里做什么。 XAML 绑定到什么?Data或Text?? -
@AaronLS 他们在同一个班级。
-
@HighCore 见上面的编辑。对不起,我当场编了代码。那不是我正在使用的实际代码。 XAML 绑定到数据。
-
对属性和支持字段使用相同的名称:Data 和 _data。
标签: c# data-binding mvvm inotifypropertychanged