希望这是一个有趣的问题:
假设我使用包含许多控件的 winform 设计了一个对话框。
(1) 打开此对话框时,我想为所有控件设置默认值。但是,一个控件的值可能取决于另一个控件(或某些其他控件)的值。
(2) 当用户更改了一个控件的值时,我想在整体上下文中验证新值。换句话说,我有很多规则说明哪些值组合是可接受的(如果控件 A 的值为 1,控件 B 的值为 2,那么控件 C 的值不得为 3)
现在让我们假设我可以保证我定义的所有“规则”都不会陷入死循环。
我的问题是:是否有任何已知的框架或通用做法可以以一般方式处理此问题?我不希望它特定于我创建的这个特定对话框。我希望它是这样一个框架,我只需定义“规则”——规则说明哪些组合是无效的,规则说明控制的推断值是什么——并且框架将在控制值发生变化时评估这些规则。
欢迎任何想法或评论:)