Skip to main content

LayoutDefinition.SizeMode Property

Gets or sets the value that defines how to change pane sizes when an end user resizes the chart.

Namespace: DevExpress.XtraCharts

Assembly: DevExpress.XtraCharts.v24.1.dll

NuGet Package: DevExpress.Charts

Declaration

[XtraChartsLocalizableCategory(XtraChartsCategory.Appearance)]
[XtraSerializableProperty]
public PaneSizeMode SizeMode { get; set; }

Property Value

Type Description
PaneSizeMode

The value that defines how to resize panes.

Available values:

Name Description
UseWeight

A pane’s size is specified by the LayoutDefinition.Weight property and is proportionally recalculated when a chart is resized.

UseSizeInPixels

A pane’s size is specified by the LayoutDefinition.SizeInPixels property (measured in pixels) and is fixed when a chart is resized.

Example

This example shows how to arrange chart panes using the grid layout.

Populate the GridPaneLayout.ColumnDefinitions and GridPaneLayout.RowDefinitions collections with LayoutDefinition objects.

Use the LayoutDefinition.Weight or LayoutDefinition.SizeInPixels properties to specify the layout item’s size. Note that you should specify the LayoutDefinition.SizeMode property to define which size property is used.

Use the XYDiagramPaneBase.LayoutOptions property to access the pane layout options. Define the GridLayoutOptions.Column, GridLayoutOptions.ColumnSpan, GridLayoutOptions.Row and GridLayoutOptions.RowSpan properties to specify a pane position.

XYDiagram diagram = chart.Diagram as XYDiagram;
diagram.PaneLayout.AutoLayoutMode = PaneAutoLayoutMode.Grid;
// You can use the AddRange method to add several layout definitions to the collection.
diagram.PaneLayout.ColumnDefinitions.Add(new LayoutDefinition { SizeMode = PaneSizeMode.UseWeight, Weight = 1 });
diagram.PaneLayout.ColumnDefinitions.Add(new LayoutDefinition { SizeMode = PaneSizeMode.UseSizeInPixels, SizeInPixels = 200 });
diagram.PaneLayout.RowDefinitions.Add(new LayoutDefinition());
diagram.PaneLayout.RowDefinitions.Add(new LayoutDefinition());

diagram.DefaultPane.LayoutOptions.Column = 0;
diagram.DefaultPane.LayoutOptions.Row = 0;

diagram.Panes[0].LayoutOptions.Column = 1;
diagram.Panes[0].LayoutOptions.Row = 0;
diagram.Panes[0].LayoutOptions.RowSpan = 2;
diagram.Panes[0].LayoutOptions.ColumnSpan = 1;

diagram.Panes[1].LayoutOptions.Column = 0;
diagram.Panes[1].LayoutOptions.Row = 1;
See Also