Shop
Anmelden
MindFusion

F: Gibt es eine Möglichkeit, die Anzahl der ein- und ausgehenden Verbindungen zu beschränken, die ein Knoten akzeptieren soll?

A: Sie können die Validierungsereignisse LinkCreating und LinkModifying behandeln und die Operation erlauben oder unterbinden je nachdem wieviel Verbindungen mit dem Knoten verbunden sind.

F: Gibt es eine Möglichkeit, die Anzahl der Knoten eines bestimmten Typs zu beschränken, die zu einem Diagramm zugefügt werden können?

A: Behandeln Sie das Ereignis NodeCreating und setzen Sie e.Cancel = true, wenn es mehr als eine bestimmte Anzahl von Knoten in dem Diagramm gibt.

F: Wie kann man die Erstellung von Zyklen im Graph unterbinden?

A: Hier wird eine einfache Vorgehensweise gezeigt:

private void diagram_LinkModifying(object sender, 
 MindFusion.Diagramming.LinkValidationEventArgs e)
{
 if (e.ChangingOrigin || e.ChangingDestination)
 {
 PathFinder finder = 
 new PathFinder(diagram, false);
 if (finder.FindShortestPath(
 e.Destination, e.Origin) != null)
 e.Cancel = true;
 }
}

private void diagram_LinkCreating(object sender,
MindFusion.Diagramming.LinkValidationEventArgs e)
{
 PathFinder finder = 
 new PathFinder(diagram, false);
 if (finder.FindShortestPath(
 e.Destination, e.Origin) != null)
 e.Cancel = true;
}

F: In meinem Diagramm überlappen zwei Knoten. Wenn ich die überlappte Fläche anklicke, will ich, dass immer derselbe Knoten selektiert wird. Gibt es eine Vorgehensweise, den Vorrang einem Knoten zu geben, den ich selektieren möchte?

A: Weisen Sie einen größeren ZIndex-Wert dem Knoten mit höherer Priorität zu. Nur zu der Zeit, wenn die Knoten angeklickt werden, rufen Sie GetNodesAt auf, um alle Knoten unter der Mausposition herauszufinden, und aktivieren Sie einen von denen programmatisch.

F: Wenn ich einen Knoten bewege, möchte ich, dass der Kopf oder Fuß der mit dem Knoten verbundenen Link um den Knotenrand umgestellt wird, wie ein Beispiel in FlowChart.NET Demo zeigt (Links --> Form Preservation). Ich setze die Eigenschaft RetainForm auf true. Aber das ist nicht genug...welche ist die korrekte Eigenschaft, die ich einstellen muss?

A: Probieren Sie die Einstellung DiagramLink.Dynamic gleich true, das ist die Eigenschaft, die die Link-Endpunktpositionen aktualisiert, wenn ein Knoten bewegt wird. Aktivieren Sie RetainForm, um die Positionen der dazwischenliegenden Kontrollpunkte auch zu aktualisieren, so dass die Ursprungsform der Link aufbewahrt wird. RetainForm kann ignoriert werden, wenn AutoRoute aktiviert wird.

F: Ich möchte es dem Nutzer erlauben, mehr als eine Verbindung von einer Tabelle zu einer anderen zu zeichnen (nicht von derselben Reihe)?

A: Die Einstellung Diagram.AllowLinksRepeat auf true wird dies ermöglichen.

Copyright © 2001-2022 MindFusion LLC. Alle Rechte vorbehalten.
Nutzungsbedingungen - Kontakt