using System; using System.Windows; using System.Windows.Controls; namespace SWS.CAD.Views.CustomControl { /// /// 当不需要使用Grid的分行分列,则可使用 SmallPanel /// public class SmallPanel : Panel { /// /// Content measurement. /// /// Constraint /// Desired size protected override Size MeasureOverride(Size constraint) { Size gridDesiredSize = new Size(); UIElementCollection children = InternalChildren; for (int i = 0, count = children.Count; i < count; ++i) { UIElement child = children[i]; if (child != null) { child.Measure(constraint); gridDesiredSize.Width = Math.Max(gridDesiredSize.Width, child.DesiredSize.Width); gridDesiredSize.Height = Math.Max(gridDesiredSize.Height, child.DesiredSize.Height); } } return (gridDesiredSize); } /// /// Content arrangement. /// /// Arrange size protected override Size ArrangeOverride(Size arrangeSize) { UIElementCollection children = InternalChildren; for (int i = 0, count = children.Count; i < count; ++i) { UIElement child = children[i]; if (child != null) { child.Arrange(new Rect(arrangeSize)); } } return (arrangeSize); } } }