如何以编程方式获取WPF FrameworkElement的当前可视状态?

时间:2010-01-14 15:20:29

标签: wpf frameworkelement

如何以编程方式获取WPF FrameworkElement的当前可视状态?从状态来看,我指的是“正常”,“鼠标”,“禁用”等状态

编辑: 基本上,我正在使用VisualStateManager.GoToState(e, "MouseOver", true);更改按钮的可视状态,我想知道在完成后将状态更改为什么状态。

3 个答案:

答案 0 :(得分:2)

我认为你必须自己知道/记住按钮状态。 VSM只是通过GoToState方法显示按钮的状态。

修改:我刚刚发现了一篇文章,介绍如何创建一个记住控制状态的custom VSM

答案 1 :(得分:0)

我认为你应该使用GoToElementState方法而不是GoToState方法。

VisualStateManager.GoToElementState(LayoutRoot, "Add", true);

答案 2 :(得分:0)

我觉得你在这里错过了WPF的观点,它是View而不是模型。您不应该在视图中存储状态。在您的模型中存储状态,并使用视图来表示它。在此基础上,您不需要阅读View的状态,您已经知道了。

我知道这可能看起来很多工作,但它会在以后给你带来回报。

相关问题