Frage

Ich arbeite an einer WPF interactive graph/tree-tool und haben die Knoten und verbindungen zwischen Ihnen platziert in eine Leinwand.Die Knoten sind Benutzersteuerelemente und die links sind einfach der Linienform und aktuell die links gehen von der Zentrum von einem Knoten zu einem anderen Knoten entfernt.

Das problem entstehen, wenn ich möchten, dass der Knoten leicht transparent und man sieht auch die links hinter dem Knoten.Ich dachte die bequemste Lösung wäre die Anwendung clipping oder opacitymask auf die Linien, so dass Sie nicht gezogen werden hinter dem Knoten, aber ich kann nicht für das Leben von mir herausfinden, wie?

Im Grunde kann ich nicht herausfinden, ein bounding box der geometrie von Knoten zu verwenden, wie ein clipping-geometrie der Linien.Ich bin auch interessiert an alternativen Lösungen, natürlich!

War es hilfreich?

Lösung

Die VisualTreeHelper.GetContentBounds () - Methode scheint Leer zurück-jedes mal.

Eine alternative Lösung für dieses problem ist beantwortet

Anschließen von zwei WPF-canvas-Elemente, die durch eine Linie, ohne die Verwendung von Anker?

verwendet bounding-Boxen zu finden Schnittpunkten zeichnen Sie die Linien aus/in.

Andere Tipps

Es scheint für mich so, Sie sind overthinking die Lösung.Warum nicht einfach ändern Sie die Logik für die links, so dass die Linien beginnen/enden an der richtigen Seite des Knotens statt, beginnend von der Mitte???Sollten Sie nur tun müssen, ein wenig mehr Mathematik, um dies zu erreichen.

Das heißt, um die bounding-box des Visuellen, die Sie verwenden können, die VisualTreeHelper::GetContentBounnds Helfer-Methode.

Wir haben etwas ähnliches, und unsere Lösung Bestand darin, von links und Knoten auf verschiedenen Ebenen.

Also, wenn Sie möchten, dass der Knoten angezeigt, über die Verknüpfungen und die Tipps von den links, die versteckt werden durch die Knoten, ändern Sie einfach die z-Reihenfolge der Schichten, so dass der Knoten der Schicht ist vor der links-Schicht.

So Lagen wir verwendet VisualHosts (Sie finden VisualHost Klasse hier) unser Knoten-und link-Objekte wurden DrawingVisuals.

Funktioniert gut und Sie brauchen nicht zu ärger über die Suche nach den Grenzen Ihrer Knoten etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top