GroupPanel
An auto-resizing SpotPanel that always surrounds its Group's MemberNodes plus some Padding.
Inherits: SpotPanel
Properties
public Thickness Padding { get; set; }
value = groupPanel.Padding
groupPanel.Padding = value
Gets or sets the extra space inside the border but around the member nodes.
public bool SurroundsMembersAfterDrop { get; set; }
value = groupPanel.SurroundsMembersAfterDrop
groupPanel.SurroundsMembersAfterDrop = value
Gets or sets whether ComputeBorder should keep the same bounds during a DraggingTool move.
Methods
protected override Size ArrangeOverride(Size finalSize)
result = groupPanel.ArrangeOverride(finalSize)
Arrange any children according to their DependencyObject) and DependencyObject) values.
- finalSize
protected override Rect ComputeBorder()
result = groupPanel.ComputeBorder()
Normally this just returns the result of ComputeMemberBounds expanded by the Padding.
Returns: However, if SurroundsMembersAfterDrop is true, and if the CurrentTool is the DraggingTool, and if this Group is not being dragged, this method returns the last value of ComputeBorder before dragging began.
protected virtual Rect ComputeMemberBounds()
result = groupPanel.ComputeMemberBounds()
Compute the union of the Bounds of this Group's MemberNodes.
Returns: a Rect in model coordinates
protected override Size MeasureOverride(Size availableSize)
result = groupPanel.MeasureOverride(availableSize)
Measure any children.
- availableSize
Returns: This returns the size computed by ComputeBorder
Fields
public static readonly DependencyProperty PaddingProperty
value = GroupPanel.PaddingProperty
Identifies the Padding dependency property.
public static readonly DependencyProperty SurroundsMembersAfterDropProperty
value = GroupPanel.SurroundsMembersAfterDropProperty
Identifies the SurroundsMembersAfterDrop dependency property.