Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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 xaml中的EventTrigger RouteEvent_Wpf_Xaml_Events_Triggers - Fatal编程技术网

wpf xaml中的EventTrigger RouteEvent

wpf xaml中的EventTrigger RouteEvent,wpf,xaml,events,triggers,Wpf,Xaml,Events,Triggers,我在wpf xaml中遇到了一个问题,我对这方面很新,所以这可能是一些基本的问题 我想把椭圆旋转360度 <Ellipse Name="test" Fill="Black" StrokeThickness="5" Margin="0,0,0,0" Height="66"> <Ellipse.Triggers> <EventTrigger RoutedEvent="Ellipse.Loaded" SourceName="test

我在wpf xaml中遇到了一个问题,我对这方面很新,所以这可能是一些基本的问题

我想把椭圆旋转360度

<Ellipse Name="test" Fill="Black" StrokeThickness="5" Margin="0,0,0,0" Height="66">
        <Ellipse.Triggers>
            <EventTrigger RoutedEvent="Ellipse.Loaded" SourceName="test">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                        Storyboard.TargetName="test"
                        Storyboard.TargetProperty="(Ellipse.RenderTransform).(RotateTransform.Angle)"
                        From="0"
                        To="360"
                        Duration="0:0:0.5"
                        RepeatBehavior="1x" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Ellipse.Triggers>
    </Ellipse>


但是什么也没发生,怎么了?

首先。椭圆中需要RotateTransform对象:

<Ellipse.RenderTransform>
    <RotateTransform x:Name="transform" />
</Ellipse.RenderTransform>
它应该会起作用

您也只能更改TargetProperty,并将TargetName保留在测试中:

Storyboard.TargetName="test"
Storyboard.TargetProperty="RenderTransform.Angle"
这样,RotateTransform对象就不需要名称了

总而言之:

<Ellipse Name="test" Fill="Black" StrokeThickness="5" Margin="0,0,0,0" Height="66">
    <Ellipse.RenderTransform>
        <RotateTransform />
    </Ellipse.RenderTransform>
    <Ellipse.Triggers>
      <EventTrigger RoutedEvent="Ellipse.Loaded" SourceName="test">
        <BeginStoryboard>
        <Storyboard>
            <DoubleAnimation 
                Storyboard.TargetName="test"
                Storyboard.TargetProperty="RenderTransform.Angle"
                From="0" To="360" Duration="0:0:0.5" RepeatBehavior="1x" />
        </Storyboard>
        </BeginStoryboard>
      </EventTrigger>
    </Ellipse.Triggers>
</Ellipse>

首先。椭圆中需要RotateTransform对象:

<Ellipse.RenderTransform>
    <RotateTransform x:Name="transform" />
</Ellipse.RenderTransform>
它应该会起作用

您也只能更改TargetProperty,并将TargetName保留在测试中:

Storyboard.TargetName="test"
Storyboard.TargetProperty="RenderTransform.Angle"
这样,RotateTransform对象就不需要名称了

总而言之:

<Ellipse Name="test" Fill="Black" StrokeThickness="5" Margin="0,0,0,0" Height="66">
    <Ellipse.RenderTransform>
        <RotateTransform />
    </Ellipse.RenderTransform>
    <Ellipse.Triggers>
      <EventTrigger RoutedEvent="Ellipse.Loaded" SourceName="test">
        <BeginStoryboard>
        <Storyboard>
            <DoubleAnimation 
                Storyboard.TargetName="test"
                Storyboard.TargetProperty="RenderTransform.Angle"
                From="0" To="360" Duration="0:0:0.5" RepeatBehavior="1x" />
        </Storyboard>
        </BeginStoryboard>
      </EventTrigger>
    </Ellipse.Triggers>
</Ellipse>


工作很有魅力:)谢谢you@Cinaird也许你可以试着像个魔术师一样工作:)谢谢you@Cinaird也许你可以试试