Laden...

Wie mache ich eine Linie zwischen Eclipsen, die beim Verschieben mitwandert?

Erstellt von elBee vor 3 Jahren Letzter Beitrag vor 3 Jahren 412 Views
E
elBee Themenstarter:in
1 Beiträge seit 2020
vor 3 Jahren
Wie mache ich eine Linie zwischen Eclipsen, die beim Verschieben mitwandert?

Hallo Zusammen,

ich bin noch blutiger Anfänger was CSharp betrifft und habe eine Frage bzgl XAML...

Ich habe 2 Eclipsen auf meiner WPF-Form liegen, welche ich wie folgt erstellt habe:

            <Canvas Width="5" Height="5" m:MapLayer.Position="56.76,-72.984" m:MapLayer.PositionOrigin="BottomCenter"  Opacity="0.7">
                <Ellipse x:Name="ELICPSE_ENDE" Fill="Red" HorizontalAlignment="Left"  Stroke="White" VerticalAlignment="Top" Width="5" Height="5" />
            </Canvas>

            <Canvas Width="5" Height="5" m:MapLayer.Position="30.76,-88.984" m:MapLayer.PositionOrigin="BottomCenter" Opacity="0.7">
                <Ellipse x:Name="ELICPSE_START" Fill="Green" HorizontalAlignment="Left" Stroke="White" VerticalAlignment="Top" Width="5" Height="5"/>
            </Canvas>

Nun möchte ich automatisiert eine Linie zwischen beiden Eclipsen ziehen, welche "mitwandert", wenn sich die Punkte (Eclipsen) verschieben.

            <Canvas Height="300" Width="300">
                <Line X1="10" Y1="20" X2="50" Y2="20" Stroke="Black" StrokeThickness="4" />
            </Canvas>

Leider google ich mich schon zu Tode, daher hoffe ich jemand von Euch kann mir hierzu einen Tipp geben.

Viele Grüße
Sven

309 Beiträge seit 2020
vor 3 Jahren

Erstell dir ein ViewModel, dann kannst du die Koordinaten binden.

Siehe [Artikel] MVVM und DataBinding

5.658 Beiträge seit 2006
vor 3 Jahren

Und dann solltest du eine Canvas erstellen, auf der du alle Elemente platzieren kannst (mittels Canvas.Left und Canvas.Top), damit du für alle Elemente das gleiche Koordinatensystem verwendest.

Weeks of programming can save you hours of planning