我正在为逻辑电路仿真器在WPF中设计UI。我希望我的应用程序能够根据当前的操作模式支持各种行为,如选择模式(橡皮筋选择)、组件放置模式、布线模式、交互模式等。我考虑在我的ViewModel中使用状态模式,并封装与运行模式相对应的状态行为。
我的问题是在视图中反映了这种变化。我想要每个模式订阅不同的鼠标事件(选择是鼠标向下,鼠标移动,鼠标向上;放置是鼠标进入,鼠标移动,鼠标离开)。我是否可以将其封装为泛型行为,然后在运行时以某种方式切换行为?我应该为它使用附加的属性吗?或者是自定义控制?MVVM的方法是什么?
发布于 2014-03-24 11:32:38
不同的行为是否仅与鼠标事件相关联,而UserControl的XAML总是相同的?
如果答案是肯定的,那么您可以实现附加到所有场景中要管理的所有鼠标事件的单个行为,并将当前场景存储在UserControl的一个变量中。
这样,您的自定义行为就可以根据指示当前场景的UserControl变量的值来决定调用或不调用特定的UserControl。
https://stackoverflow.com/questions/22585044
复制相似问题