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>中定义路由事件控制,定义故事板,触发

  • 相关阅读:
    linux-vi/vim
    Linux性能监控-ss
    Linux性能监控-netstat
    Linux性能监控-sar
    Linux性能监控-htop
    Linux性能监控-pstree
    Linux性能监控-ps
    查看linux占用内存/CPU最多的进程
    Linux性能监控-top
    Linux-cpu-socket/core/processor
  • 原文地址:https://www.cnblogs.com/qwhh/p/5360227.html
Copyright © 2011-2022 走看看