开发手册 欢迎您!
软件开发者资料库

Silverlight - 视觉状态

Silverlight Visual State - 从概述,环境设置,入门,XAML概述,项目类型,固定布局,动态布局,约束与无约束布局,Silverlight和CSS,控件,按钮,内容模型,简单易学的步骤学习Silverlight列表框,模板,视觉状态,数据绑定,浏览器集成,浏览器外应用程序,应用程序,资源和部署,文件访问,视图模型,输入处理,隔离存储,文本,动画,视频和音频,打印。

如果您的用户可以确定应用程序的哪个位可能响应输入,那就太好了.在某种程度上,这可以通过使按钮看起来像按钮来完成.如果某些东西看起来是可点击的,那么它可能就是.

然而,现代用户界面设计中的一个惯例是用户界面元素还应表示在鼠标移动时通过更改父母的响应意愿

例如,当鼠标移动时,内置按钮控件稍微改变其背景,暗示它是交互式的,然后在点击它时进一步更改父母看起来像它的选择.几乎所有控件都需要这样做,设计师需要一种方法来创建和编辑动画以实现它.

State& State Group

让我们看一下视觉状态的实例.考虑一个复选框.它可能是未选中或已选中,如果您选择,它可以支持第三个不确定状态.对于所有三种情况,控件需要看起来不同.因此,我们有三个视觉状态.

州组复选框

In为了证明它已经准备好响应用户输入,当鼠标移过它时,复选框会略微改变其外观,当鼠标固定在那里时它会进一步改变.如果禁用该复选框,则必须考虑第四个状态,它看起来很棒,并表示它不会响应用户输入.

更改复选框

因此,我们还有另外四个州.在任何给定时间,复选框的可视状态必须是正常,鼠标悬停,已检查已禁用.同时,它必须是选中,未选中不确定.

视觉状态管理器

由于模板定义了控件的外观,因此模板需要定义每个Visual状态会发生什么.到目前为止我们查看的模板不包含此类信息.因此,无论当前状态如何,控件的外观都保持静态.

要向模板添加可视状态,首先要添加属性元素.

  • 您可以为视觉状态处理做的最简单的事情是定义在控件进入特定状态时运行的动画.

  • 控件会在状态改变时通知可视状态管理器类.

  • 然后是可视状态管理器查看模板的这一部分并确定要运行的动画.

  • 因此,当复选框输入鼠标时,此动画将运行,更改模板某些部分的颜色.

让我们看一个简单的例子,通过使用可视状态机制来制作一个自定义反映状态更改的复选框的模板.

下面给出了带有 visual s的复选框自定义模板的XAML代码tate .

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

编译并执行上述代码后,您将看到以下网页,其中包含一个复选框.

模板复选框

当光标进入复选框区域时,它将改变状态.

更改状态

单击复选框时,您将看到以下状态.

执行更改状态

我们建议您执行上述示例以便更好地理解.