zoukankan      html  css  js  c++  java
  • WPF 使用EventTrigger时设置SouceName技巧

    使用情节触发器时,如果有触发源/触发源控件时可以将情节触发器放置最顶级的面板控件的触发器中。

    通过blend这个神器真的是可以学到不少东西。

    代码:

    //情节动画放置于顶级控制面板
    <Widnow.Resources>
      <Storyboard x:Key="OnMouseLeftButtonUpForGrid">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="dockPanel">
                    <EasingDoubleKeyFrame KeyTime="0" Value="0.675"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="0.896"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="0.997"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="dockPanel">
                    <EasingDoubleKeyFrame KeyTime="0" Value="0.638"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="0.835"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="0.991"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="dockPanel">
                    <EasingDoubleKeyFrame KeyTime="0" Value="111"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="35.25"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="0.75"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="dockPanel">
                    <EasingDoubleKeyFrame KeyTime="0" Value="-66"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="-30"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="-1.5"/>
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
    </Window.Resources>
    <Window.Triggers>
     <EventTrigger RoutedEvent="UIElement.MouseLeftButtonUp" SourceName="grid1">
                <BeginStoryboard x:Name="OnMouseLeftButtonUpForGrid_BeginStoryboard" Storyboard="{StaticResource OnMouseLeftButtonUpForGrid}"/>
            </EventTrigger>
    </Window.Triggers>
    <DockPanel x:Name="dockPanel" RenderTransformOrigin="0.5,0.5">
                <DockPanel.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform/>
                        <SkewTransform/>
                        <RotateTransform/>
                        <TranslateTransform/>
                    </TransformGroup>
                </DockPanel.RenderTransform>
                <Grid x:Name="grid1" Height="40" DockPanel.Dock="Top" Background="Red">
                    <Button x:Name="button" HorizontalAlignment="Right" Content="ccc"/>
                </Grid>
                <Grid x:Name="grid" Height="40"    VerticalAlignment="Top" DockPanel.Dock="Top" Background="Green" RenderTransformOrigin="0.5,0.5">
                </Grid>
            </DockPanel>
  • 相关阅读:
    SVN 怎么让文件脱离 版本控制
    WEB开发中使用和理解 .net中的认证与授权
    三层,师姐把我点透了
    三层与养猪,加入自己的理解。
    Asp.net的登录验证方法Web.config访问权限配置
    <%=%> 引发的aspx文件、.aspx.cs文件和.aspx.designer.cs的一些说明
    bin。obj Properties文件夹
    JS得到对应字段 的值。遍历
    C#中页面传值的方法。转载
    $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • 原文地址:https://www.cnblogs.com/T-ARF/p/11755937.html
Copyright © 2011-2022 走看看