Laden...

2D-Zeichnen und auf Mausevents reagieren

Erstellt von oehrle vor 4 Jahren Letzter Beitrag vor 4 Jahren 916 Views
O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 4 Jahren
2D-Zeichnen und auf Mausevents reagieren

Hallo liebe Community, ich habe ein Thema mit dem ich nicht weiter komme.
Habe ein kleines Zeichenprogramm erstellt, mit dem ich die Zeichnung als DXF ausgeben kann.
Nun möchte ich das gezeichnete editieren. Dabeiwäre es gut wenn die einzelnen Elemente per Maus anklicken könnte, und dann die Positinsangaben vom Elemnt einfach editieren kann. Somit könnte ich Linienzüge ... einfach editieren.

Nun, bisher habe ich mit den Geometries gearbeitet (LineGeometry, ArcGeometry), die haben aber nur das Change-Event.

Bei den Shapes gibt es die Events, die sind alle schon vorhanden. Aber bei den Shapes gibt es auch keine Kreisbögen (Arc).

Gibt es eine Möglichkeit, die Geometries auch auf Mausevents reagieren zu lassen, oder gibt es bei Shapes etwas für Kreissegmente (möchte keine Punktewolke oder viele kurze Liniensegment).

Hat jemand so etwas realisiert.

Eine Möglichkeit sehe ich nun. Bei Path.Data sind die Events wieder vorhanden. So müßten alle Geometries in einem eigenen Path stehen, und diese an das Event gebunden werden, dann geht das auch mit den Geometries. Andere Idee?

5.658 Beiträge seit 2006
vor 4 Jahren

Hier werden sinnvolle Tips für ein solches Vorhaben gegeben: Strategy for implementing a complex curve editor with XAML/WPF

Vergiß die Idee mit den Events wieder. Verwende Thumb-Controls zum Verschieben der Punkte, DataBinding sowie MVVM für das Implementieren der Logik: [Artikel] MVVM und DataBinding

Ich habe so etwas ähnliches schon mal umgesetzt, allerdings nur zum Editieren von einfachen Bezier-Splines. Daher kann ich sagen, daß dein Vorhaben nicht ganz trivial ist. Kreisbögen kannst du auch durch Splines approximieren, oder du verwendest fertige Bibliotheken dafür, oder du schreibst die Berechnung selbst. Das komplizierte ist aber die Benutzerinteraktion.

Weeks of programming can save you hours of planning

O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 4 Jahren

Hallo, danke für die Info.
Von dem Thumb habe ich noch nie gehört. Gibt es da von die was konkretes wo man sich das anschauen kann? Im Netz habe ich erst mal nichts so dolles gefunden.

5.658 Beiträge seit 2006
vor 4 Jahren

In dem verlinkten Stackoverflow-Beitrag gibt es ein Code-Beispiel mit den Thumbs. Es gibt die Doku. Und es gibt Projekte, die sowas anwenden, wie z.B. NetworkView.

Weeks of programming can save you hours of planning