我使用PropertyGrid.SelectedObjects
(Winform控件)属性来显示多个对象的属性。我为每个对象的每个属性都有自定义描述符,它执行基本验证并执行业务逻辑。
我只想在完成所有验证后才执行一次业务逻辑。我们怎么做?
修改
自动设置值时的PropertyGrid控件使用MergedPropertyDescriptor,它在循环中调用我的自定义描述符的SetValue函数,从而导致多个业务逻辑调用。我想在不使用任何静态变量
的情况下避免这种情况EDIT2 此问题也发布在Microsoft Forums
中答案 0 :(得分:0)
最简单:
myForm.submit = function() {
if (checkValidation()) {
// business logic;
if (OK) return true;
}
return false;
};
我个人更喜欢简单地使用submit方法作为包装器(内部if语句[当为true时]会调用另一个返回true或false的[业务逻辑]函数。)