silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

  视觉状态是指控件的某些特定状态的外观,如MouseOver、Focused、Unfocused、Normal等等。在这些状态中有一些状态是不可同时存在的,我们将这种互斥的状态划分为同一个组,称之为视觉状态组。同理多个视觉状态组之间的状态是可以共存的。   VisualStateManager是视觉状态管理器,其内部包含多个视觉状态组   VisualStateGroup是视觉状态组,内部包含多

  视觉状态是指控件的某些特定状态的外观,如MouSEOver、Focused、Unfocused、Normal等等。@L_772_1@些状态中有一些状态是不可同时存在的,我们将这种互斥的状态划分为同一个组,称之为视觉状态组。同理多个视觉状态组之间的状态是可以共存的。

  VisualStateManager是视觉状态管理器,其内部包含多个视觉状态组

  VisualStateGroup是视觉状态组,内部包含多个互斥的视觉状态

  VisualStateGroup.Transitions是视觉状态改变定义,GeneratedDuration是状态改变时间,From是从什么状态,To是到什么状态

  VisualState是视觉状态,定义名字,内部是在状态改变时对控件外观的修正改变。

   <VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="CommonStates">
            <VisualStateGroup.Transitions>
                <VisualTransition GeneratedDuration="0:0:0.5" To="@H_179_30@mouSEOver"/>
                <VisualTransition GeneratedDuration="0:0:0.5" To="Normal"/>
            </VisualStateGroup.Transitions>
            <VisualState x:Name="Normal">
                <Storyboard>
                    <DoubleAnimation Duration="0" To="0.1" Storyboard.TargetProperty="(UIElement.opacity)" 
                                        Storyboard.TargetName="Root" d:IsOptimized="True"/>
                </Storyboard>
            </VisualState>
            <VisualState x:Name="@H_179_30@mouSEOver"/>
            <VisualState x:Name="Disabled"/>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>

  我们可以通过在后台代码“转到定义”的方式去查看该控件的视觉状态,如下图可以查看到checkBox的众多视觉状态,以及视觉状态组:

Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup

   接上节实例,我希望能够让ScrollViewer的滚动条在鼠标未移动到其上面的时候隐藏起来的效果。现在就通过视觉状态组来实现这个效果

  A.首先我们用Blend打开上节实例,然后右键点击ScrollViewer控件-->"编辑模板"-->"编辑副本",如下图: 

Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup

  B.然后我们在弹出的窗口中为此样式重新命名,并且定位位置选择为"应用程序",如下图:

Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup

 

  C.创建完毕之后我们选择对应的ScrollBar控件。

Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup

  D.然后右键点击"VerticalScrollBar"重复以上A、B动作获取到垂直和水平方向的ScrollBar样式副本,此时我们首先选择Normal视图,然后点击Scrollbar出现其属性,在外观处设置其Opacity属性值为10%,如下图:

Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup

  E.设置过度*-->Normal为0.5秒渐变,如下图:

Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup

  F.同理设置*-->MouSEOver视图为0.5秒渐变即可达到所需效果,其垂直滚动条达到效果

Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup

  如需源码请点击SLVisualStateGroup.zip 下载。

大佬总结

以上是大佬教程为你收集整理的Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup全部内容,希望文章能够帮你解决Silverlight实用窍门系列:70.Silverlight的视觉状态组VisualStateGroup所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。