Class PanelLayoutViewbox

GoDiagram®
v10.0.12
by Northwoods Software®

Rescales a single GraphObject to fit inside the panel depending on the panel's ViewboxStretch property.

Inheritance
PanelLayoutViewbox
Namespace: Northwoods.Go.PanelLayouts
Assembly: Northwoods.GoDiagram.Avalonia.dll
Syntax
public sealed class PanelLayoutViewbox : PanelLayout

Properties

Instance

This holds a static singleton instance of the PanelLayout, used as a value for Type.

Declaration
public static PanelLayoutViewbox Instance { get; }
Property Value
Type Description
PanelLayoutViewbox
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)

Declaration
public override void Arrange(Panel panel, IList<GraphObject> children, Rect union)
Parameters
Type Name Description
Panel panel
IList<GraphObject> children
Rect union
Overrides

Measure(Panel, double, double, IList<GraphObject>, ref Rect, double, double)

Element scaled to fit inside of panel.

Declaration
public override void Measure(Panel panel, double width, double height, IList<GraphObject> children, ref Rect union, double minw, double minh)
Parameters
Type Name Description
Panel panel
double width
double height
IList<GraphObject> children
Rect union
double minw
double minh
Overrides