Class PanelLayoutViewbox
- Namespace
- Northwoods.Go.PanelLayouts
- Assembly
- Northwoods.GoDiagram.WinForms.dll
Rescales a single GraphObject to fit inside the panel depending on the panel's ViewboxStretch property.
public sealed class PanelLayoutViewbox : PanelLayout
- Inheritance
-
PanelLayoutViewbox
- Inherited Members
Properties
Instance
This holds a static singleton instance of the PanelLayout, used as a value for Type.
public static PanelLayoutViewbox 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)
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)
Element scaled to fit inside of panel.
public override void Measure(Panel panel, double width, double height, IList<GraphObject> children, ref Rect union, double minw, double minh)