WPF —— 动画缩放变换

ScaleTransform:在二维x-y坐标系统内缩放对象;

在故事板中依赖的属性为RenderTransform.ScaleXRenderTransform.ScaleY,这要根据你要沿哪个轴进行缩放,X代表x轴,Y代表y轴;

key属性当我们使用静态资源访问时候-->

<!--TargetType="{x:Type Button} 直接应用于Button按钮类型的标签-->

设置Property属性 值为value

XML 复制代码
<Setter Property="HorizontalAlignment" Value="Center"></Setter>
<Setter Property="VerticalAlignment" Value="Top"></Setter>
<Setter Property="Width" Value="100"></Setter>
<Setter Property="Height" Value="100"></Setter>
<Setter Property="RenderTransformOrigin"
        Value="0.5,0.5"></Setter>
<Setter Property="Background"
        Value="Red"></Setter>

对变换的类型进行赋值

RenderTransform :渲染变换,不影响页面布局,一般使用动画效果

LayoutTransform :布局变换,导致窗体布局重新绘算,这种性能比较低,一般用于变形上面不做动画

XML 复制代码
    <Setter Property="LayoutTransform">
        <Setter.Value>
            <ScaleTransform></ScaleTransform>
        </Setter.Value>
    </Setter>

    <!--触发器-->
    <Style.Triggers>
        <EventTrigger RoutedEvent="MouseEnter">
            <BeginStoryboard>
                <Storyboard>
                    <!--x轴的缩放-->
                    <!--to = 2 倍数-->
                    <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.ScaleX"
                                     To="2"
                                     Duration="0:0:2"
                                     RepeatBehavior="Forever">
                        
                    </DoubleAnimation>
                    <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.ScaleY"
                                     To="2"
                                     Duration="0:0:2"
                                     RepeatBehavior="Forever">

                    </DoubleAnimation>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Style.Triggers>
</Style>

自定义按钮 并且把动画添加到按钮的样式里面,也就是重写按钮样式

XML 复制代码
<StackPanel>

    <Button>
        hello world</Button>
    
    <Button>hello world</Button>
</StackPanel>
相关推荐
self_myth3 小时前
[特殊字符] 深入理解操作系统核心特性:从并发到分布式,从单核到多核的全面解析
windows·macos·wpf·harmonyos
c#上位机4 小时前
wpf之TextBlock
c#·wpf
玉面小君1 天前
从 WPF 到 Avalonia 的迁移系列实战篇6:ControlTheme 和 Style区别
c#·wpf·avalonia
c#上位机2 天前
wpf之Border
c#·wpf
SunflowerCoder2 天前
WPF迁移avalonia之图像处理(一)
图像处理·wpf·avalonia
周杰伦fans2 天前
WPF中的DataContext以及常见的绑定方式
wpf
没有bug.的程序员3 天前
Redis 数据结构全面解析:从底层编码到实战应用
java·数据结构·redis·wpf
somethingGoWay3 天前
wpf 自定义输入ip地址的文本框
wpf
秋月的私语3 天前
Wpf程序屏幕居中问题修复全记录
wpf
我要打打代码3 天前
WPF启动窗体的三种方式
wpf