Ich möchte zwei Formen in WPF zeichnen und sie zusammenführen. Dann möchte ich ein Drag/Drop-Ereignis an eine der ursprünglichen Formen anhängen.Verschmelzen von Formen und Anbringen von Partial Drag/Drop in WPF
Grundsätzlich können Sie nur ziehen, wenn Sie auf einen bestimmten Teil der Form klicken, aber die gesamte Form mit Ihnen ziehen. Hier
ist ein Code:
// Set up some basic properties for the two ellipses
Point centerPoint = new Point(100, 100);
SolidColorBrush ellipseColor_1 = new SolidColorBrush(Color.FromArgb(255, 0, 0, 255));
double width_1 = 10; double height_1 = 10;
SolidColorBrush ellipseColor_2 = new SolidColorBrush(Color.FromArgb(50, 255, 0, 0));
double width_2 = 200; double height_2 = 200;
// Create the first ellipse: A small blue dot
// Then position it in the correct location (centerPoint)
Ellipse ellipse_1 = new Ellipse() { Fill = ellipseColor_1, Width = width_1, Height = height_1 };
ellipse_1.RenderTransform = new TranslateTransform(point.X - width_1/2, point.Y - height_1/2);
// Create the second ellipse: A large red, semi-transparent circle
// Then position it in the correct location (centerPoint)
Ellipse ellipse_2 = new Ellipse() { Fill = ellipseColor_2, Width = width_2, Height = height_2 };
ellipse_2.RenderTransform = new TranslateTransform(point.X - width_2/2, point.Y - height_2/2);
// ???
// How should I merge these?
// ???
// Now apply drag drop behavior to ONLY ellipse_1
MouseDragElementBehavior dragBehavior = new MouseDragElementBehavior();
dragBehavior.Attach(ellipse_1); // This may change depending on the above
// ...
// Add new element to canvas
Dieser Code erstellt zwei Kreise (ein großes und ein kleines). Ich möchte nur ziehen können, wenn der kleine angeklickt wird, aber ich möchte sie anhängen, so dass sie sich zusammen bewegen, ohne manuell Code hinzufügen zu müssen, der sich darum kümmert.