MultiLayout
This IDiagramLayout is a compound layout where each of the nested Layouts works on a subset of the nodes and links that are this MultiLayout's responsibility.
Inherits: FrameworkElement
Implements: IDiagramLayout
Constructors
Properties
public MultiArrangement Arrangement { get; set; }
value = multiLayout.Arrangement
multiLayout.Arrangement = value
Gets or sets how Link}) should lay out the nested layouts.
public Point ArrangementOrigin { get; set; }
value = multiLayout.ArrangementOrigin
multiLayout.ArrangementOrigin = value
Gets or sets the point of the top-left node.
public Size ArrangementSpacing { get; set; }
value = multiLayout.ArrangementSpacing
multiLayout.ArrangementSpacing = value
Gets or sets the space between which each nested layout will be positioned.
public Diagram Diagram { get; set; }
value = multiLayout.Diagram
multiLayout.Diagram = value
Gets or sets the Diagram that owns this layout.
public Group Group { get; set; }
value = multiLayout.Group
multiLayout.Group = value
Gets or sets the Group that owns this layout, if the layout is the value of a Layout.
public string Id { get; set; }
value = multiLayout.Id
multiLayout.Id = value
Gets or sets an identifier for a particular layout.
public IList Layouts { get; private set; }
value = multiLayout.Layouts
multiLayout.Layouts = value
Gets the collection of IDiagramLayout layouts that are managed by this MultiLayout.
public virtual bool ValidLayout { get; set; }
value = multiLayout.ValidLayout
multiLayout.ValidLayout = value
This layout is valid only if all of its Layouts are valid.
Methods
public virtual bool CanLayoutPart(Part part)
result = multiLayout.CanLayoutPart(part)
This predicate is true if Part) is true for any of its Layouts.
- part
public virtual void DoLayout(IEnumerable<Node> nodes, IEnumerable<Link> links)
multiLayout.DoLayout(nodes, links)
Actually perform all of the Layouts for the given nodes and links.
- nodes
- links
public virtual void Invalidate(LayoutChange reason, Part part)
multiLayout.Invalidate(reason, part)
Declare that this layout may be invalid, for a given reason.
- reason
- a LayoutChange hint
- part
- the Part that changed
public void InvalidateLayout()
multiLayout.InvalidateLayout()
Set the ValidLayout property to false, and ask the diagram's LayoutManager to perform layouts in the near future.
Fields
public static readonly DependencyProperty ArrangementOriginProperty
value = MultiLayout.ArrangementOriginProperty
Identifies the ArrangementOrigin dependency property.
public static readonly DependencyProperty ArrangementProperty
value = MultiLayout.ArrangementProperty
Identifies the Arrangement dependency property.
public static readonly DependencyProperty ArrangementSpacingProperty
value = MultiLayout.ArrangementSpacingProperty
Identifies the ArrangementSpacing dependency property;
public static readonly DependencyProperty IdProperty
value = MultiLayout.IdProperty
Identifies the Id dependency property.