P: ¿Hay una manera de limitar el número de enlaces que un nodo de forma aceptará y permitirá salir?
R: Usted puede controlar los eventos de validación LinkCreating y LinkModifying y permitir o impedir la operación según el número de enlaces que se conectan a un nodo.
P: ¿Hay una manera de limitar el número de nodos de forma de un tipo determinado que se pueden agregar a un diagrama?
R: Maneje el evento NodeCreating y establezca e.Cancel = true si hay más que un cierto número de nodos en el diagrama.
P: ¿Cómo impedir que los usuarios creen ciclos en el gráfico?
R: Aquí está una manera fácil de hacer eso:
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; }
P: En mi diagrama, dos nodos se superponen. Cuando hago clic en el área superpuesta, quiero que siempre se seleccione el mismo nodo. ¿Hay una manera de dar prioridad a un nodo que deseo seleccionar?
R: Asigne un valor ZIndex más grande para el nodo que tiene mayor prioridad. Sólo en el momento en que se hace clic en los nodos, llame GetNodesAt para encontrar todos los nodos en la posición del ratón, y seleccionar uno de ellos mediante programación.
P: Quiero que cuando muevo un nodo, la cabeza o base del enlace conectado al nodo se mueva al rededor del borde del nodo, como uno de los ejemplos en la Demostración de FlowChart.NET (Enlaces --> Desde Preservación). Establezco la propiedad RetainForm a true. De todas maneras, esto no es suficiente...¿cuál es la propiedad correcta que debo configurar?
R: Pruebe a establecer DiagramLink.Dynamic a true, que es la propiedad que actualiza las posiciones de punto de enlace final, mientras que un nodo se mueve alrededor. Habilite RetainForm para tener las posiciones de los puntos de control intermedios actualizados también, así que la forma inicial de la relación se mantiene. RetainForm puede ser ignorado si AutoRoute está habilitado.
P:¿Cómo habilitar al usuario para realizar más de un enlace de una tabla a otra (no de la misma fila)?
R: Ajustar Diagram.AllowLinksRepeat a true habilitará eso.