2015-05-21 4 views
1

Я хочу повернуть многоугольник, сделанный в XAML с кодом C#, однако я застрял в 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" 
        /> 

ответ

1

Ваш код, кажется, работает хорошо. Вам необходимо добавить преобразование, которое вы пытаетесь изменить:

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

Спасибо большое! работает как шарм –

Смежные вопросы