Table of Contents

Class FieldsPanel

Namespace
The.WPF.Controls
Assembly
Instagile.WPF.dll

Lays out the fields of a section exactly as a non-resizable section would: every field is measured with unbounded height and stacked at its natural size, and any extra height the user drags out of a resizable section is arranged into the filling last child. Views that scroll internally (embedded list/grid screens, checklists) cap their natural height at their MinHeight - see SelfScrollingViews - so the natural height of a section is finite, and ComputedMinHeight can stop the user shrinking fields out of view. The filling last child is then re-measured with the height it will actually be arranged with, so a virtualizing child realises the rows it will display rather than only those that fit the unbounded MinHeight it reported for the natural-height sum. The panel's desired height tracks that re-measure: it equals the natural height when the trailing field cannot grow, and rises towards the offered height when it can - so a host that sizes to this (a maximized section) fills the screen only when something is there to fill it.

public class FieldsPanel : DockPanel, IAnimatable, ISupportInitialize, IFrameworkInputElement, IInputElement, IQueryAmbient, IAddChild
Inheritance
FieldsPanel
Implements
Inherited Members

Fields

ComputedMinHeightProperty

public static readonly DependencyProperty ComputedMinHeightProperty

Field Value

DependencyProperty

ContentOverflowsProperty

public static readonly DependencyProperty ContentOverflowsProperty

Field Value

DependencyProperty

Properties

ComputedMinHeight

The natural height of the content: the minimum at which no field is clipped.

public double ComputedMinHeight { get; }

Property Value

double

ContentOverflows

True when the available height is less than the natural height, so fields at the bottom are clipped. Measured desired sizes are clamped to the available constraint, so an outside observer cannot detect this - only the panel knows its natural height.

public bool ContentOverflows { get; }

Property Value

bool

Methods

MeasureOverride(Size)

Measures the child elements of a DockPanel prior to arranging them during the ArrangeOverride(Size) pass.

protected override Size MeasureOverride(Size availableSize)

Parameters

availableSize Size

Returns

Size

A Size that represents the element size you want.