在wince中使用C++语言创建Silverlight的VisualState
2010-08-23 05:29:00 来源:WEB开发网Silverlight中的VisualState(可视状态)是一个非常重要的概念,使用VisualState,可以将界面的各个状态进行有效的区隔开,并进行单独的设计,并且可以在状态切换时实现动画效果,一般来说,可以通过blend2(微软提供的可视化编程工具)进行设计,但是如果需要动态读取数值并进行设置的话,就需要使用本地的C++代码来编写各个VisualState,下面通过示例展示如何通过编写C++代码来实现与xaml代码同样的功能。
如下所示,xaml文件创建了一个状态,并在该状态下,将矩形旋转了75度。
< UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SilverlightApplication30.Page"
Width="640" Height="480" xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows" x:Name="Root">
< Grid x:Name="LayoutRoot" Background="White">
< vsm:VisualStateManager.VisualStateGroups>
< vsm:VisualStateGroup x:Name="VisualStateGroup">
< vsm:VisualStateGroup.Transitions>
< vsm:VisualTransition GeneratedDuration="00:00:01"/>
< /vsm:VisualStateGroup.Transitions>
< vsm:VisualState x:Name="State1">
< Storyboard>
< DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000"
Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
< SplineDoubleKeyFrame KeyTime="00:00:00" Value="75"/>
< /DoubleAnimationUsingKeyFrames>
< /Storyboard>
< /vsm:VisualState>
< /vsm:VisualStateGroup>
< /vsm:VisualStateManager.VisualStateGroups>
< Rectangle Margin="168,168,208,192" x:Name="rectangle" RenderTransformOrigin="0.5,0.5" Fill="#FF8E1919" Stroke="#FF000000">
< Rectangle.RenderTransform>
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
- ››使用 ADDRESS 与 INDIRECT函数查询信息
- ››使用 COLUMN函数编制单元信息
更多精彩
赞助商链接