zoukankan      html  css  js  c++  java
  • 按钮模板,标题抖动

                    <ControlTemplate TargetType="{x:Type Button}">
                        <Border x:Name="btn_border" Background="{TemplateBinding Background}" >
    
                            <TextBlock x:Name="btn_text" Opacity="0" RenderTransformOrigin="0.5,0.5" Text="{TemplateBinding Content}" FontSize="18" FontFamily="Candara" Foreground="Red" FontWeight="Normal" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0 5 0 0" >
                                 <TextBlock.RenderTransform>
                                    <RotateTransform></RotateTransform>
                                </TextBlock.RenderTransform>
                            </TextBlock>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Cursor" Value="Hand" TargetName="btn_border" />
                                <Setter Property="Opacity" Value="1"  TargetName="btn_text">
    
                                </Setter>
                            </Trigger>
                            <EventTrigger  RoutedEvent="Button.MouseEnter">
                                <EventTrigger.Actions>
                                    <BeginStoryboard>
                                        <Storyboard >
                                            <DoubleAnimation  Storyboard.TargetName="btn_text"
                                                         Storyboard.TargetProperty="RenderTransform.Angle"  
                                                         BeginTime="00:00:00" From="0" To="5" Duration="00:00:0.1" 
                                                         AutoReverse="True"   RepeatBehavior="Forever"  />
                                        </Storyboard>
                                    </BeginStoryboard>
                                </EventTrigger.Actions>
                            </EventTrigger>
                            <EventTrigger RoutedEvent="Button.MouseLeave">
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetName="btn_text" Storyboard.TargetProperty="RenderTransform.Angle"
                                                       BeginTime="00:00:00" From="0" To="0" Duration="00:00:0.1" AutoReverse="True"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger>
                        </ControlTemplate.Triggers>
    
                    </ControlTemplate>

    关键在与在需要变换的元素内声明 元素中心 RenderTransformOrigin(0.5,0.5)

    <XX.RenderTransform>

    <RotateTransform></RotateTransform>

    </XX.RenderTransform>

    然后在<Template.Tragers>中定义路由事件控制,定义故事板,触发

  • 相关阅读:
    【PAT】1001 害死人不偿命的(3n+1)猜想(动态更新)
    文件指令集
    近距离接触电脑
    文件管理
    文件写作方法
    文件读取方法
    打开文件的逻辑
    话术库
    max的逻辑
    抽象化指令
  • 原文地址:https://www.cnblogs.com/qwhh/p/5360227.html
Copyright © 2011-2022 走看看