Wpf 平滑地调整元素的大小
我的Wpf 平滑地调整元素的大小,wpf,resize,wpf-controls,smooth,Wpf,Resize,Wpf Controls,Smooth,我的画布上有一组椭圆s 对于每个椭圆上的MouseEnter事件,我想调整元素的大小,以便提供放大的外观和感觉 为了让它更吸引人,我想让变化逐渐(平滑/生动的感觉)。如有任何提示,我们将不胜感激 试试这样的方法: <Style x:Key="ScaleStyle" TargetType="{x:Type FrameworkElement}"> <Setter Property="RenderTransformOrigin" Value="0.5,0.5"
画布上有一组椭圆
s
对于每个椭圆上的MouseEnter
事件,我想调整元素的大小,以便提供放大的外观和感觉
为了让它更吸引人,我想让变化逐渐(平滑/生动的感觉)。如有任何提示,我们将不胜感激 试试这样的方法:
<Style x:Key="ScaleStyle" TargetType="{x:Type FrameworkElement}">
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform />
</Setter.Value>
</Setter>
<Style.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="1.2" Duration="0:0:0.2"
Storyboard.TargetProperty="RenderTransform.ScaleX" />
<DoubleAnimation To="1.2" Duration="0:0:0.2"
Storyboard.TargetProperty="RenderTransform.ScaleY" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="1.0" Duration="0:0:0.1"
Storyboard.TargetProperty="RenderTransform.ScaleX" />
<DoubleAnimation To="1.0" Duration="0:0:0.1"
Storyboard.TargetProperty="RenderTransform.ScaleY" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Canvas>
<Ellipse Style="{StaticResource ScaleStyle}" Canvas.Left="100" Canvas.Top="100"
Width="200" Height="100" Stroke="Black" StrokeThickness="2" Fill="Transparent" />
</Canvas>
Tnx@Clemens。您能就如何以编程方式实现它提供建议吗?好的,我用XAML定义样式。然后通过UIElement.Style=(Style)FindResource(“ScaleStyleStyle”)应用它代码>