谈谈Silverlight 2中的视觉状态管理 Part1
概述
部件(Parts)
视觉状态(Visual States)
public sealed class VisualState : DependencyObject {public VisualState();public string Name { get; }public Storyboard Storyboard { get; set; } }
状态迁移(State Transitions)
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; } }
状态组(StateGroups)
public sealed class VisualStateGroup : DependencyObject {public VisualStateGroup();public string Name { get; }public Collection<VisualState> States { get; set; }public Collection<VisualTransition> Transitions { get; set; } }
[TemplateVisualStateAttribute(Name = "ContentFocused", GroupName = "FocusStates")] [TemplateVisualStateAttribute(Name = "MouseOver", GroupName = "CommonStates")] [TemplateVisualStateAttribute(Name = "Focused", GroupName = "FocusStates")] [TemplateVisualStateAttribute(Name = "Checked", GroupName = "CheckStates")] [TemplateVisualStateAttribute(Name = "Unchecked", GroupName = "CheckStates")] [TemplateVisualStateAttribute(Name = "Indeterminate", GroupName = "CheckStates")] [TemplateVisualStateAttribute(Name = "Pressed", GroupName = "CommonStates")] [TemplateVisualStateAttribute(Name = "Disabled", GroupName = "CommonStates")] [TemplateVisualStateAttribute(Name = "Unfocused", GroupName = "FocusStates")] [TemplateVisualStateAttribute(Name = "Normal", GroupName = "CommonStates")] public class CheckBox : ToggleButton { // ...... }
视觉状态管理器
public class VisualStateManager : DependencyObject {public static DependencyProperty CustomVisualStateManagerProperty;public VisualStateManager();public static VisualStateManager GetCustomVisualStateManager(DependencyObject obj);public static Collection<VisualStateGroup> GetVisualStateGroups(DependencyObject obj);public static bool GoToState(Control control, string stateName, bool useTransitions);protected virtual bool GoToStateCore(Control control, FrameworkElement templateRoot, string stateName, VisualStateGroup group, VisualState state, bool useTransitions);public static void SetCustomVisualStateManager(DependencyObject obj, VisualStateManager value); }
状态变化
总结
谈谈Silverlight 2中的视觉状态管理 Part1相关推荐
- 在vue项目中引用vuex状态管理工具
在vue项目中引用vuex状态管理工具 一.vuex是什么? 二.使用步骤 1.引入库 2.在main.js文件引入配置 3.配置store/index.js文件 4.获取state数据 5.获取ge ...
- qnetworkreply 获取状态_谈谈Unity Shader中的采样器状态和(Texture Filtering)纹理滤波方式
参考文章: 使用采样器状态 - Unity 手册docs.unity3d.comhttps://blog.csdn.net/chenjinxian_3D/article/details/518169 ...
- Vue中的Pinia状态管理工具 | 一篇文章教会你全部使用细节
文章目录 Pinia状态管理 Pinia和Vuex的对比 Pinia基本使用
- Silverlight 属性样式、控件模板、视觉状态
在使用Silverlight的样式的时候感觉非常好,以前在HTML上很难实现的效果在这里都变的如此简单. 属性样式 控件的属性样式好比CSS的Class功能定义,是用来统一定义和维护控件属性的方式,控 ...
- [译] ⚛ React 状态管理工具博物馆
原文地址:⚛ The React State Museum: ⚡️View the hottest state management libs for React 原文作者:Gant Laborde ...
- flutter 局部状态和全局状态区别_Flutter状态管理
Flutter状态管理 状态管理是声明式编程非常重要的一个概念,我们在前面介绍过Flutter是声明式编程的,也区分声明式编程和命令式编程的区别. 这里,我们就来系统的学习一下Flutter声明式编程 ...
- vue状态管理存取数据_vue状态管理vuex从浅入深详细讲解
1.vuex简介以及创建一个简单的仓库 vuex是专门为vue框架而设计出的一个公共数据管理框架,任何组件都可以通过状态管理仓库数据沟通,也可以统一从仓库获取数据,在比较大型的应用中,数据交互庞大的情 ...
- 面向.NET开发人员的Dapr——状态管理
目录: 面向.NET开发人员的Dapr--前言 面向.NET开发人员的Dapr--分布式世界 面向.NET开发人员的Dapr--俯瞰Dapr 面向.NET开发人员的Dapr--入门 面向.NET开发人 ...
- ASP.NET状态管理之一(概括篇)
每次将网页发送到服务器时,都会创建网页类的一个新实例.在传统的Web编程中,这通常意味着在每一次往返行程中,与该页及该页上的控件相关联的所有信息都会丢失.例如,如果用户将信息输入到文本框,该信息将在从 ...
最新文章
- 哪怕你不认可,我还是要为R语言正名
- gg.gap:ggplot阶截断坐标轴的优秀完美解决方案
- 【Git】Git 分支管理 ( 解决分支合并冲突 | 创建并切换分支 git switch -c feature1 | 修改 feature1 分支并提交 | 修改 master 主版本并提交 )
- matlab绘图大全
- H5前端框架推荐合集 (转)
- C# Aes CryptoStream Specified padding mode is not valid for this algorithm的解決方法
- mysql封装 javabean,利用Java针对MySql封装的jdbc框架类JdbcUtils完整实现(包含增删改查、JavaBean反射原理,附源码)...
- Openstack基础架构和各组件的关系
- 作业计算机组成与原理,课程计算机组成原理与汇编语言作业四
- Android Activity设置全屏
- 深度学习 arm linux移植过程整理
- win7系统服务器管理器在哪里找,win7打开服务管理器
- dbv连oracle,oracle工具:DBV的用法
- 如何在南方CASS中内插高程点
- 【fences下载】
- Connection reset by peer 问题解析
- XGboost和GBDT的异同
- 基于python的opencv的学习
- 日期函数DATEDIFF() 计算日期之差
- 博客相关 | 如何获取图片主题色并修改字体颜色
热门文章
- Java HashMap工作原理深入探讨
- 深入了解MyBatis返回值
- linux 文本编辑命令grep sed awk
- Mybatis的ResultMap的使用
- OpenCV之core 模块. 核心功能(1)Mat - 基本图像容器 OpenCV如何扫描图像、利用查找表和计时 矩阵的掩码操作 使用OpenCV对两幅图像求和(求混合(blending))
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面
- Deep Learning论文笔记之(一)K-means特征学习
- webservice 之 Java CXF实战效果 RS WS(二)
- Hibernate Tomcat JNDI数据源配置(转)
- WinRAR 注册方法