谈谈Silverlight 2中的视觉状态管理 Part2
2008-10-09 11:40:02 来源:WEB开发网概述
在WPF和Silverlight中的控件模板支持自定义控件的观感,所谓的外观,指控件的视觉效果;而感觉则是控件交互的响应性,如在控件上按下鼠标、控件获得焦点等状态的改变。微软在Silverlight 2 Beta 2中引进了一个新的概念视觉状态管理(Visual State Manager),为我们创建交互性的控件模板提供了极大的方便。接下来我将会用几篇文章来介绍一下Silverlight 2中的视觉状态管理。
本文为该系列第二篇,介绍如何利用Silverlight 2中的视觉状态管理来定制控件观感。在前一篇我们介绍了视觉状态管理中的一些基本概念,下面将通过一个实例来展示如果利用视觉状态管理来定制控件的观感,最终我们完成的示例效果如下图所示:
本文中的示例使用了这篇文章中的代码。
定义控件模板
我们现在先来定义CheckBox控件的模板,即上篇文章中所介绍的部件,如下代码所示:
<ControlTemplate TargetType="CheckBox">
<StackPanel x:Name="Root" >
<!-- OuterBorder -->
<Border Width="20" Height="20">
<!-- InnerBorder -->
<Border x:Name="InnerBorder">
<Grid>
<!-- Higlight-->
<Border x:Name="HighlightBorder"> </Border>
<!-- Glow -->
<Rectangle x:Name="Glow" Opacity="0"></Rectangle>
<!-- Checkmark Graphic-->
<Path x:Name="Checkmark" Opacity="0"></Path>
<!-- Indeterminate Rect-->
<Rectangle x:Name="IndeterminateRect" Opacity="0"></Rectangle>
</Grid>
</Border>
</Border>
<!-- ContentPresenter -->
<ContentPresenter />
</StackPanel>
</ControlTemplate>
为了减少代码,这里去掉了一些属性,只是给出了必备的一些部件名称。现在我们运行后,可以看到虽然CheckBox的样式有了,但它并没有任何交互的效果,如点击鼠标后CheckBox并没有选中。
Tags:谈谈 Silverlight 视觉
编辑录入:爽爽 [复制链接] [打 印]- ››视觉和交互设计实例:3D社区游戏QQ阳光牧场
- ››谈谈我在Admin5写软文一年来的经验心得
- ››谈谈团购网容易进入的几个误区
- ››谈谈如何做好团购导航网站 让IP轻松过5万
- ››谈谈我的软文思维 关键在于“软文链轮”
- ››谈谈框架集网站优化方案
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››谈谈值类型与null的判等比较
- ››谈谈我做网站的一些个人经验
更多精彩
赞助商链接