【发布时间】:2010-02-18 15:39:13
【问题描述】:
我有一个实现 IEditableObject 的类,现在我想知道是否可以在绑定源更新时自动调用 BeginEdit()?
有两种可能的情况:
- 对象通过数据库填充。在这种情况下,我不想调用 BeginEdit()。
- 对象由用户通过输入字段填充。在这种情况下,我想在更新源时自动调用 BeginEdit()(我使用双向绑定和 INotifyPropertyChanged)。
我正在考虑在属性更改时调用 BeginEdit(),但这与第一种情况不符,因为我不希望在从数据库填充时调用 BeginEdit()。
【问题讨论】:
-
也许您可以为您的对象实现某种 IsInDataBaseUpdate 属性,并且在设置时不要点击 BeginEdit()?对不起,如果这听起来太愚蠢......也许我错过了什么。
-
@Anvaka:我也在考虑这一点,但这是我试图避免的事情,因为这样做我不会得到我想要的,并且仍然需要设置属性(在这种情况下我可以直接调用 BeginEdit())。我想尽可能自动地调用 BeginEdit() (如果可能的话)。我目前正在考虑使用 BindingGroup.BeginEdit()、转换器或子类 Bidning。
标签: wpf binding ieditableobject