Kezdőoldal » Számítástechnika » Programozás » WPF XAML. Hogy lehet egy...

WPF XAML. Hogy lehet egy objectumot egy ellipsegeometry által meghatározott pályán mozgatni?

Figyelt kérdés

#XAML #ellipsegeometry #doubleanimation
2013. ápr. 6. 19:53
 1/4 anonim ***** válasza:

például:


XAML:

<Rectangle x:Name="Rectangle1"

Fill="#E0ADD8E6" Width="50" Height="50"

Canvas.Top="100"

Stroke="DarkBlue" StrokeThickness="2"

Panel.ZIndex="1">

<Rectangle.RenderTransform>

<TranslateTransform x:Name="TranslateTransform1" X="0" Y="0" />

</Rectangle.RenderTransform>

</Rectangle>


code behind. Én a window Loaded eseménykezelőjébe raktam:

var geom = new EllipseGeometry(new Point(50, 50), 50, 30);

var pathGeometry = PathGeometry.CreateFromGeometry(geom);


var propertyPathConverter = new PropertyPathConverter();

var t1 = new DoubleAnimationUsingPath

{

Duration = new Duration(TimeSpan.FromSeconds(2.0)),

Source = PathAnimationSource.X,

PathGeometry = pathGeometry,

RepeatBehavior = RepeatBehavior.Forever

};


t1.SetValue(Storyboard.TargetPropertyProperty, propertyPathConverter.ConvertFromString("(UIElement.RenderTransform).(TranslateTransform.X)"));

t1.SetValue(Storyboard.TargetProperty, Rectangle1);


var t2 = new DoubleAnimationUsingPath

{

Duration = new Duration(TimeSpan.FromSeconds(2.0)),

Source = PathAnimationSource.Y,

PathGeometry = pathGeometry,

RepeatBehavior = RepeatBehavior.Forever

};


t2.SetValue(Storyboard.TargetPropertyProperty, propertyPathConverter.ConvertFromString("(UIElement.RenderTransform).(TranslateTransform.Y)"));

t2.SetValue(Storyboard.TargetProperty, Rectangle1);


var sb1 = new Storyboard();

sb1.Children.Add(t1);

sb1.Children.Add(t2);

sb1.Begin();

2013. ápr. 8. 10:03
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Köszönöm szépen, de olyan megoldás kéne ami csak XAML. Storyboard-ban lévő dolgok. DoubleAnimation-al és PointAnimation-al próbálkoztam de nem nagy sikerrel mert PathGeometry útvonalat várnak...
2013. ápr. 9. 07:10
 3/4 anonim ***** válasza:
Hát igen, épp ezért írtam kódból, mert így lehet. Mi a baj a kóddal? Mért ragaszkodsz a 100% XAML-hez?
2013. ápr. 9. 09:15
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Ez a feladatunk.
2013. ápr. 10. 10:40

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!