C# 缩放动画和XAML杂波
我是WPF的新手,所以请原谅我的noob问题 我实现了一个老式的“点击按钮”动画,该动画与缩放变换一起工作:C# 缩放动画和XAML杂波,c#,wpf,xaml,animation,C#,Wpf,Xaml,Animation,我是WPF的新手,所以请原谅我的noob问题 我实现了一个老式的“点击按钮”动画,该动画与缩放变换一起工作: <Style TargetType="Image" x:Key="PressableImage"> <Setter Property="RenderTransformOrigin" Value="0.5,0.5"/> <Style.Triggers> <EventTrigger Ro
<Style TargetType="Image" x:Key="PressableImage">
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Style.Triggers>
<EventTrigger RoutedEvent="MouseDown">
<BeginStoryboard>
<Storyboard >
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" From="1" To="0.9" Duration="0:0:0.03" />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" From="0.9" To="1" BeginTime="0:0:0.03" Duration="0:0:0.1" />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" From="1" To="0.9" Duration="0:0:0.03" />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" From="0.9" To="1" BeginTime="0:0:0.03" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
为了使其适用于我的图像对象,我需要这样声明它们:
<Image x:Name="E00" Style="{StaticResource PressableImage}" Source="Resources/0.png" MouseDown="ClickMainMenu">
<Image.RenderTransform>
<ScaleTransform ScaleX="1" ScaleY="1" />
</Image.RenderTransform>
</Image>
我想在样式定义中加入RenderTransform部分,就像我在RenderTransformMorigin中所做的那样,但我实现这一点的唯一方法是在每个图像定义中加入RenderTransform定义
有没有办法将其放入样式定义中?在您的问题中,我认为通过样式设置值没有任何问题:
<Style TargetType="Image" x:Key="PressableImage">
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="1" ScaleY="1" />
</Setter.Value>
</Setter>
<Style.Triggers>
<EventTrigger RoutedEvent="MouseDown">
<BeginStoryboard>
<Storyboard >
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" From="1" To="0.9" Duration="0:0:0.03" />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" From="0.9" To="1" BeginTime="0:0:0.03" Duration="0:0:0.1" />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" From="1" To="0.9" Duration="0:0:0.03" />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" From="0.9" To="1" BeginTime="0:0:0.03" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
这不起作用,我在PresentationFramework.dll“Set property”System.Windows.FrameworkElement.Style“Set property”中遇到一个异常:“System.Windows.Markup.XamlParseException”引发了一个异常。“行号“145”和行位置“24”。@OrfQuarenghi-Hm对我来说很好。查看有关调试的网站XamlParseException
。