我有一个实现IEditableObject的类,现在我想知道在更新绑定源时是否可以自动调用BeginEdit()?
有两种可能的情况:
我正在考虑在属性发生变化时调用BeginEdit(),但这与第一个场景不相符,因为我不希望在从数据库填充时调用BeginEdit()。
答案 0 :(得分:0)
您需要一种方法来确定对象总体的来源。 enum
可以执行此操作,然后在PropertyChanged
中,您可以查看导致该属性更改的原因,并根据该属性,您可以调用BeginEdit()
。
Enum PopulateSource
{
Database = 0,
User
}
现在从数据库更新时,将您的枚举设置为PopulateSource.Database
。当它因用户更改而发生更改时,您将其设置为PopulateSource.User
。现在,您可以在PropertyChanged中检查此变量的状态,从而确定是否要调用BeginEdit()
。