Class PanelLayoutAuto
- Namespace
- Northwoods.Go.PanelLayouts
- Assembly
- Northwoods.GoDiagram.WinForms.dll
Resizes the main element to fit around the other elements; the main element is the first GraphObject with IsPanelMain set to true, or else the first GraphObject if none have that property set to true.
public sealed class PanelLayoutAuto : PanelLayout
- Inheritance
-
PanelLayoutAuto
- Inherited Members
Properties
Instance
This holds a static singleton instance of the PanelLayout, used as a value for Type.
public static PanelLayoutAuto Instance { get; }
Property Value
Remarks
These static PanelLayouts are used when defining templates:
// define a simple Node template
myDiagram.NodeTemplate =
new Node(PanelLayoutAuto.Instance) // the Shape will go around the TextBlock
.Add(
new Shape("RoundedRectangle") {
StrokeWidth = 0, Fill = "white"
}.Bind("Fill", "Color"), // Shape.Fill is bound to Node.Data.Color
new TextBlock {
Margin = 8, // Specify a margin to add some room around the text
Font = "bold 14px sans-serif", Stroke = "#333"
}.Bind("Text", "Key") // TextBlock.Text is bound to Node.Data.Key
);
Methods
Arrange(Panel, IList<GraphObject>, Rect)
Arrange children in Auto panel.
public override void Arrange(Panel panel, IList<GraphObject> children, Rect union)
Parameters
panel
Panelchildren
IList<GraphObject>union
Rect
Measure(Panel, double, double, IList<GraphObject>, ref Rect, double, double)
The main object is sized around all the other ones.
public override void Measure(Panel panel, double width, double height, IList<GraphObject> children, ref Rect union, double minw, double minh)