Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 平滑地调整元素的大小_Wpf_Resize_Wpf Controls_Smooth - Fatal编程技术网

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”)应用它