internal override void ArrangeOverride(AbcArrangeContext context) { IAbcCanvas abcCanvas = this; foreach (IAbcVisual abcChild in abcCanvas.Children) { AbcContextualPropertyValue arrangeSlotPropertyValue = abcChild.GetContextualPropertyValue(AbcCanvasContextualProperties.ArrangeSlotPropertyKey); context.arrangeSlot = arrangeSlotPropertyValue != null ? ((AbcContextualPropertyValue.AbcRect)arrangeSlotPropertyValue).value : abcCanvas.ArrangeSlot; WpfVisual wpfVisual = (WpfVisual)abcChild; FrameworkElement frameworkElement = (FrameworkElement)wpfVisual.uiElement; SlotPanel.SetSlot(frameworkElement, Utils.ToRect(context.arrangeSlot)); abcChild.Arrange(context); } base.ArrangeOverride(context); }
internal WpfCanvas() : base(new SlotPanel()) { this.slotPanel = (SlotPanel)this.uiElement; }