예제 #1
0
        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);
        }
예제 #2
0
 internal WpfCanvas()
     : base(new SlotPanel())
 {
     this.slotPanel = (SlotPanel)this.uiElement;
 }