【发布时间】:2010-09-30 05:23:59
【问题描述】:
我有一个继承自 INOTIFYPROPERTYCHANGED 的实体,该实体绑定到我的 UI 元素,如 TextBOX。现在,当任何属性发生更改时,我的绑定都会更新并且一切正常。我想要的是在我的视图中捕获这个 propertychanged 事件。我的 viewmodal 也继承自 INOTIFYPROPERTYCHANGED。
实体
public class DIPREDIPForView:INotifyPropertyChanged
{
#region PrivateFields
private string fieldDelimiter, textQualifier;
#endregion
public DIPREDIPForView()
{
}
public string FieldDelimiter
{
get
{
return fieldDelimiter;
}
set
{
fieldDelimiter = value;
OnPropertyChanged("FieldDelimiter");
//NotifyViewModalEvent();
}
}
public string TextQualifier {
get
{
return textQualifier;
}
set
{
textQualifier = value;
OnPropertyChanged("TextQualifier");
//NotifyViewModalEvent();
}
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
public virtual void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
var e = new PropertyChangedEventArgs(propertyName);
handler(this, e);
}
}
#endregion
视图模式
public class DIPREDIPViewModel : BaseViewModel
{
public DIPREDIPForView Configuration
{
get
{
return configuration;
}
set
{
configuration = value;
}
}
}
BaseViewModal
public class BaseViewModel : INotifyPropertyChanged, IDisposable
{
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
public virtual void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
var e = new PropertyChangedEventArgs(propertyName);
handler(this, e);
}
}
#endregion
}
我想要的是每当“配置”发生变化时,应该通知 ViewModal,因为我必须基于此调用其他逻辑。
我尝试在 Configuration 的设置器中调用 OnPropertyChanged(),但它不会触发。每当我更新 UI 上的值时,此配置都会更新,但设置器中的断点不会被命中。我应该如何做到这一点。
【问题讨论】: