当事件链接时,消除顺序依赖和冗余的干净方法是什么?

本文关键字:冗余 方法 是什么 依赖 链接 事件 顺序 | 更新日期: 2023-09-27 18:06:46

假设你有一个有3个字段的对话框。

  • 1。输入字段1将默认字段2和字段3(eventHandler1)
  • 2。输入字段2将默认字段3(eventHandler2)
  • 3。输入字段3不会默认任何内容。

这里有两个问题:

  1. 冗余:无需额外的工作,eventHandler1隐式触发eventHandler2。在这个玩具示例中,这不是问题。但是将场景扩展到更多的字段和w/o

  2. Order-dependency:我认为字段3将默认为eventHandler2。但在这两种情况下;有时,eventHandler1的默认值可能是正确的。其他时候,eventHandler2的默认值可能是正确的。

在c#中是否有一种干净、结构化的方法来处理这个问题,而不必处理大量的状态?

当事件链接时,消除顺序依赖和冗余的干净方法是什么?

好的,你需要做的是在winforms应用程序中分离你的图层。设计一个类来确定哪些字段影响哪些字段。该类中的每个属性都将使用属性设置器中的自定义代码来修改依赖属性,这将反过来向窗口发送一个信号,表明它们的内容已经更改。

View(类视图)类将是第一个类的容器,处理输入事件,调用第二个类的方法来处理结果。最后,当其他类发出命令时,它将更新其他字段。

旧的,错误的答案在这里(没有抓住Winforms标签,傻我

最简单的答案是良好的视图-模型和视图分离,但是如果没有代码示例,很难确定MVVM是否合适。

你的viewxaml会有3(4,10)的定义,无论什么)字段,每个字段绑定到ViewModel中的属性。

每个属性的setter将处理设置的逻辑其他属性中的依赖值。当设置了每个属性时,它们当更改时应该通知,并且UI将更新而无需进一步从你做起。

少耦合;更有条理。