Active State Machine能够修改UI元素

时间:2014-02-19 05:51:40

标签: c# winforms user-interface state-machine

Hello社区我想知道我是否可以获得以下的软件架构建议。在即将开展的项目中,我需要对运行时间为100毫秒的活动状态机进行编程,该状态机检查数据模型的内容并触发相应的触发器以从一种状态切换到另一种状态。进入和退出每个州后,我必须启用和禁用某些UI元素。

我的问题是,我可以采取什么方法来避免将状态机的UI修改紧密结合?目前我有一个活动的状态机,它引用了UI元素,并且从每个状态转换我可以启用/禁用UI元素。但我觉得这不干净,想知道更好的方法。

1 个答案:

答案 0 :(得分:0)

我首先想到的是,您可以让状态机设置一些在您进入/退出状态时触发的事件。如果需要,您可以让事件通过新/旧状态。让UI代码订阅这些代码并在它们触发时更改UI。