C# 从代码旋转对象

C# 从代码旋转对象,c#,wpf,xaml,C#,Wpf,Xaml,我想用C#代码旋转用XAML制作的多边形,但是我被困在Propertypath上。有人知道我应该用什么来代替吗 这是我现在掌握的C代码: public void Rotate() { Storyboard rotate = new Storyboard(); DoubleAnimation myDoubleAnimation = new DoubleAnimation(); myDoubleAnimation.From = 0; myDoubleAnimatio

我想用C#代码旋转用XAML制作的多边形,但是我被困在Propertypath上。有人知道我应该用什么来代替吗

这是我现在掌握的C代码:

public void Rotate()
{
    Storyboard rotate = new Storyboard();

    DoubleAnimation myDoubleAnimation = new DoubleAnimation();
    myDoubleAnimation.From = 0;
    myDoubleAnimation.To = 360;
    myDoubleAnimation.Duration = new Duration(TimeSpan.FromSeconds(5));

    Storyboard.SetTargetProperty(myDoubleAnimation, new PropertyPath("(Polygon.RenderTransform).(RotateTransform.Angle)"));
    Storyboard.SetTargetName(myDoubleAnimation, Arrowhead.Name);
    rotate.Children.Add(myDoubleAnimation);
    rotate.Begin(Arrowhead);
}
这是我想在XAML中旋转的多边形(三角形):

                <Polygon Fill="#41b1ff"
                 Stroke="Gray"
                 StrokeThickness="2"
                 Points="80,60,100,40,100,40,120,60" 
                 Grid.ColumnSpan="3"
                 Grid.RowSpan="3"
                 Name="Arrowhead"
                     />

您的代码似乎工作正常。您需要添加要修改的变换,但:

<Polygon
        Fill="#41b1ff"
        Stroke="Gray"
        StrokeThickness="2"
        Points="80,60,100,40,100,40,120,60"
        Name="Arrowhead">
    <Polygon.RenderTransform>
        <RotateTransform/>
    </Polygon.RenderTransform>
</Polygon>