我最近使用了表达式Blend,我发现它有一个叫做Visual State Manager的东西,它和常规的事件驱动模型有什么不同,哪个更好?
发布于 2011-10-03 21:44:13
事件是指“事物”发生的实例,例如:
事件可以触发状态更改,但这是唯一的重叠。
发布于 2011-10-04 12:05:42
对象激发一个事件以指示发生了某些事情。事件携带一个任意的有效负载(事件参数)加上(按照约定)发送事件的对象。可视状态定义控件或用户控件的不同状态。可视状态定义了控件的外观、如何转换为该外观以及如何从该外观转换。(“过渡”可以涉及任何东西,从切换可见性一直到复杂的动画。)可视状态是控件的一部分,但您不能像使用事件那样直接订阅它们。
一种模型并不比另一种更好:它们只是不同而已。考虑在视图模型和模型/服务层中使用事件,并在视图层中使用可视状态。
发布于 2011-11-10 23:07:54
可视化状态管理器用于管理状态(令人惊讶)。例如,您的按钮可以处于多个状态:
down
上的
您的代码实际上不需要知道它,所以应用程序的所有可视化状态都应该保留在XAML中。
此外,可视化状态管理器有助于减少更容易出错的代码。
至于事件,实际上我现在倾向于更多地使用命令,我发现它们比事件本身更有用。
https://stackoverflow.com/questions/7628554
复制相似问题