Ich bin neu in der StackOverflow Community und bitte entschuldige mein schlechtes Englisch, ich versuche es zu verbessern.Erstellen und Zugreifen auf eine GeometryGroup in CodeBehind
Ich benutze deine Hilfe für meine Bachelorarbeit und du hast mir schon sehr geholfen, danke. Ich schreibe ein Werkzeug, um Daten in drahtlosen Netzwerken zu visualisieren.
Ich füge eine GeometryGroup zu meinem Canvas hinzu, um einige meiner CustomControls mit einer Linie zu verbinden. Die Zeile wird aktualisiert, wenn das Steuerelement verschoben wird usw. Ich habe den folgenden Artikel verwendet: https://denisvuyka.wordpress.com/2007/10/21/wpf-diagramming-drawing-a-connection-line-between-two-elements-with-mouse/, damit es funktioniert.
Dies ist der Code, den ich in meinem XAML verwende.
Was ich versuche zu tun ist, meine eigene Canvas-Klasse zu erstellen und fügen Sie die GeometryGroup in den Code dahinter. Was ich versuchte zu tun war:
System.Windows.Shapes.Path pathGroup= new System.Windows.Shapes.Path();
BrushConverter bc = new BrushConverter();
Brush Brush = (Brush)bc.ConvertFrom("#FF132FE0");
cmp.Stroke = Brush;
cmp.StrokeThickness = 1;
GeometryGroup connectors= new GeometryGroup();
pathGroup.Data=connectors;
Mein Problem ist, dass es nicht wie vorgesehen funktioniert hat. Mit der XAML-Implementierung kann ich einfach Folgendes verwenden:
connectors.Children.Add(obj);
Ich versuche, mein Problem zusammenzufassen. Ich möchte mit C# -Code eine GeometryGroup erstellen, um Linien hinzufügen und entfernen zu können, wann immer ich will.
Danke =)
Sie wahrscheinlich nie überall verwenden 'pathGroup' im Canvas. – Clemens
Wie kann ich auf die Kinder von pathGroup zugreifen? Es gibt kein solches Attribut wie Children of GetChildren oder Data.Children. Ich weiß nicht einmal, wie ich auf die Linien zugreifen kann, die ich zur GeometryGroup hinzufüge. Vielleicht ist das mein Problem. –
Sie müssen nicht auf die untergeordneten Elemente von pathGroup zugreifen. Wie zuvor würden Sie auf die Children-Eigenschaft von 'connectors' zugreifen. Sie müssten * jedoch * pathGroup zur Canvas-Children-Auflistung hinzufügen. – Clemens