谈谈Silverlight 2中的视觉状态管理 Part1
[1] 谈谈Silverlight 2中的视觉状态管理 Part1
[2] 谈谈Silverlight 2中的视觉状态管理 Part1
[3] 谈谈Silverlight 2中的视觉状态管理 Part1
[4] 谈谈Silverlight 2中的视觉状态管理 Part1
[2] 谈谈Silverlight 2中的视觉状态管理 Part1
[3] 谈谈Silverlight 2中的视觉状态管理 Part1
[4] 谈谈Silverlight 2中的视觉状态管理 Part1
视觉状态(Visual States)
视觉状态是指控件定义的一系列状态如MouseOver、Pressed等,它代表了控件处于某一个特定的逻辑状态。如下面这幅图中定义的CheckBox控件的一些视觉状态:
默认状态下,CheckBox控件将显示为Normal状态;当CheckBox被选中时,它将显示为Checked状态;当Checked为null,CheckBox将显示为Indeterminate状态。
控件的视觉状态在Silverlight 2中会使用VisualState类来表示,它的定义非常简单如下代码所示:
public sealed class VisualState : DependencyObject { public VisualState(); public string Name { get; } public Storyboard Storyboard { get; set; } }
状态迁移(State Transitions)
状态迁移是指控件从一个状态过渡到另外一个状态,如Button控件从MouseOver状态到Pressed状态这个过渡过程,通过Storyboard来定义的动画。
状态迁移在Silverlight 2中使用VisualTransition类来表示,它的定义如下代码所示:
public class VisualTransition { public VisualTransition(); public Duration Duration { get; set; } public string From { get; set; } public Storyboard Storyboard { get; set; } public string To { get; set; } }