C# Physik [der schräge Wurf] Ball animieren

PapstRatze

Lt. Junior Grade
Registriert
Aug. 2008
Beiträge
436
So ich bin es schon wieder ;) und wieder war die Google suche erfolglos. Diesmal würde ich gerne eine Physik Aufgabe Programmieren, um anhand dieser meinen Kommilitonen C# etwas näher zu bringen.

Nun möchte ich den ganzen Wurf in eine Klasse hauen (Da ich das ganze Programm noch erweitern Möchte und die Übersicht erhalten bleiben soll).

Es ist leider so, das ich mich mit Zeichnen erst seit heute Auseinander setzte ^^ und einzig eine wirklich simple Möglichkeit gefunden habe über den Namespace System.Windows.Shapes.

Das sieht dann wie folgt aus:
Code:
[COLOR="MediumTurquoise"]Ellipse[/COLOR] Ball = [COLOR="Blue"]new[/COLOR] [COLOR="MediumTurquoise"]Ellipse[/COLOR]();
Ball.Height = 10; Ball.Width = 10;
Ball.Fill = System.Windows.Media.[COLOR="MediumTurquoise"]Brushes[/COLOR].DarkGray;

[I][COLOR="SeaGreen"]//Nun sollte es so weitergehen:[/COLOR][/I]
[COLOR="MediumTurquoise"]Canvas[/COLOR].SetLeft(Ball, //to do);

Das Problem ist, dass ich so nicht auf das richtige Canvas zugreifen kann, da dieses im MainWindow in einem Grid gefesselt ist (und ich auch nicht weiß ob die Zuweisung überhaupt über eine Klasse möglich wäre^^).
Jetzt sagt msdn-Database das ich dem Ball keinerlei Infos über Position geben kann.

Deshalb bräuchte ich ggf einen Vorschlag wie ich dem Canvas (welches ich an die Klasse bereits übergebe) den Ball ordentlich zuweisen kann ODER ob es irgendeine andere Sinnvolle Vorgehensweise gibt.
Ergänzung ()

Okay I got it ;)...

Code:
Ball.Margin = new Thickness(150, 150, 0, 0);
            canvas.Children.Add(Ball);

Und jetzt kann das Thema schon geschlossen werden ;)
 
Zuletzt bearbeitet:
Gib dem Canvas einen Namen im XAML und schon kannst du im Code-Behind darauf zugreifen, oder ist die Sache doch komplexer? Liegt das in einem DataTemplate?
 
Wie man in der Lösung sieht hat mein Canvas einen Namen ;)(sonst wäre es groß geschrieben), anders würde es auch nicht in nen Grid reinwollen. Die Funktion SetLeft() und SetTop() etc. sind für ein spezielles Canvas nicht frei... (ich weiß jetzt nicht wie man das Fachlich richtig ausdrückt)
 
Zurück
Oben