您的位置:知识库 » .NET技术

谈谈Silverlight 2中的视觉状态管理 Part1

作者: TerryLee  来源: 博客园  发布时间: 2008-10-10 10:54  阅读: 6194 次  推荐: 0   原文链接   [收藏]  

视觉状态(Visual States)

视觉状态是指控件定义的一系列状态如MouseOver、Pressed等,它代表了控件处于某一个特定的逻辑状态。如下面这幅图中定义的CheckBox控件的一些视觉状态:

TerryLee_0086

默认状态下,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来定义的动画。

TerryLee_0091

状态迁移在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; }
}

0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻