MultiLayout

StockSharp.Xaml.Diagram.GXDiagram.Layout

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

MultiLayout
public MultiLayout()
multiLayout = MultiLayout()

Construct an empty MultiLayout.

Properties

Arrangement
public MultiArrangement Arrangement { get; set; }
value = multiLayout.Arrangement
multiLayout.Arrangement = value

Gets or sets how Link}) should lay out the nested layouts.

ArrangementOrigin
public Point ArrangementOrigin { get; set; }
value = multiLayout.ArrangementOrigin
multiLayout.ArrangementOrigin = value

Gets or sets the point of the top-left node.

ArrangementSpacing
public Size ArrangementSpacing { get; set; }
value = multiLayout.ArrangementSpacing
multiLayout.ArrangementSpacing = value

Gets or sets the space between which each nested layout will be positioned.

Diagram
public Diagram Diagram { get; set; }
value = multiLayout.Diagram
multiLayout.Diagram = value

Gets or sets the Diagram that owns this layout.

Group
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.

Id
public string Id { get; set; }
value = multiLayout.Id
multiLayout.Id = value

Gets or sets an identifier for a particular layout.

Layouts
public IList Layouts { get; private set; }
value = multiLayout.Layouts
multiLayout.Layouts = value

Gets the collection of IDiagramLayout layouts that are managed by this MultiLayout.

ValidLayout
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

CanLayoutPart
public virtual bool CanLayoutPart(Part part)
result = multiLayout.CanLayoutPart(part)

This predicate is true if Part) is true for any of its Layouts.

part
DoLayout
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
Invalidate
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
InvalidateLayout
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

ArrangementOriginProperty
public static readonly DependencyProperty ArrangementOriginProperty
value = MultiLayout.ArrangementOriginProperty

Identifies the ArrangementOrigin dependency property.

ArrangementProperty
public static readonly DependencyProperty ArrangementProperty
value = MultiLayout.ArrangementProperty

Identifies the Arrangement dependency property.

ArrangementSpacingProperty
public static readonly DependencyProperty ArrangementSpacingProperty
value = MultiLayout.ArrangementSpacingProperty

Identifies the ArrangementSpacing dependency property;

IdProperty
public static readonly DependencyProperty IdProperty
value = MultiLayout.IdProperty

Identifies the Id dependency property.