Silverlight 下苹果(Mac OS)风格按钮的实现
2008-10-24 11:46:47 来源:WEB开发网Silverlight 2beta 2 内置的每一种控件都有其自身的契约,我们在为控件创建 Style 时必须符合此契约的要求才能生效。
一般包含3个方面:
1) 属性
2) 控件可能用到的 UIElement. (用 TemplatePartAttribute 标记)
3) VisualState 对象 (用 TemplateVisualState 在控件上标记)
这里 VisualState 很有意思,表示控件的状态。并且状态可以分组,同一个组内的状态可以互相迁移。
比如 Button 有两组状态:一组是“普通”、“鼠标悬停”、“按下”、“禁用”;而另一组是“获得焦点”、“失去焦点”。
两组状态可以同时生效,互不影响。
在 ControlTemplate 内,我们可以定义各个状态以及状态间迁移时的动画 (用一个 Storyboard 定义),以及状态之间迁移花费多少时间 (Duration) 等。
Button 控件的契约如下:
[TemplateVisualState(Name="Normal",GroupName="CommonStates")]
[TemplateVisualState(Name="MouseOver",GroupName="CommonStates")]
[TemplateVisualState(Name="Pressed",GroupName="CommonStates")]
[TemplateVisualState(Name="Disabled",GroupName="CommonStates")]
[TemplateVisualState(Name="Unfocused",GroupName="FocusStates")]
[TemplateVisualState(Name="Focused",GroupName="FocusStates")]
publicclassButton:Control
{
publicstaticreadonlyDependencyPropertyBackgroundProperty;
Tags:Silverlight 苹果 Mac
编辑录入:爽爽 [复制链接] [打 印]- ››苹果MAC中安装并搭建Android开发环境的详细步骤和...
- ››Mac 下搭建Android开发环境
- ››Mac OS X 10.7.3安装Xcode3.2.6解决方案
- ››Mac QTMovieView添加划入窗口
- ››silverlight全屏显示图片
- ››苹果专利显示正在开发3D版Safari浏览器
- ››Silverlight MVVM 模式(一) 切近实战
- ››苹果新一代iPad软件看点
- ››苹果的MAC操作系统大战微软windows的十个优势
- ››苹果iPad 2评测 并非是完美的产品
- ››苹果新专利或解决iPhone等天线问题
- ››苹果计划开发切罗基语软件 移入iPhone等产品
更多精彩
赞助商链接