Class FieldsPanel
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
ContentOverflowsProperty
public static readonly DependencyProperty ContentOverflowsProperty
Field Value
Properties
ComputedMinHeight
The natural height of the content: the minimum at which no field is clipped.
public double ComputedMinHeight { get; }
Property Value
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
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
availableSizeSize