public FrameworkElementAdorner(FrameworkElement adornerChildElement, FrameworkElement adornedElement,
                                       AdornerPlacement horizontalAdornerPlacement, AdornerPlacement verticalAdornerPlacement,
                                       double offsetX, double offsetY)
            : base(adornedElement)
        {
            if (adornedElement == null)
            {
                throw new ArgumentNullException("adornedElement");
            }

            if (adornerChildElement == null)
            {
                throw new ArgumentNullException("adornerChildElement");
            }

            this.child = adornerChildElement;
            this.horizontalAdornerPlacement = horizontalAdornerPlacement;
            this.verticalAdornerPlacement = verticalAdornerPlacement;
            this.offsetX = offsetX;
            this.offsetY = offsetY;

            adornedElement.SizeChanged += new SizeChangedEventHandler(adornedElement_SizeChanged);

            base.AddLogicalChild(adornerChildElement);
            base.AddVisualChild(adornerChildElement);
        }
예제 #2
0
        protected DesignerThumb CreateThumb(PlacementAlignment alignment, Cursor cursor, int index)
        {
            DesignerThumb designerThumb = new MultiPointThumb
            {
                Index              = index,
                Alignment          = alignment,
                Cursor             = cursor,
                IsPrimarySelection = true
            };
            AdornerPlacement ap = Place(designerThumb, alignment, index);

            (designerThumb as MultiPointThumb).AdornerPlacement = ap;

            AdornerPanel.SetPlacement(designerThumb, ap);
            adornerPanel.Children.Add(designerThumb);

            DragListener drag = new DragListener(designerThumb);

            WeakEventManager <DesignerThumb, MouseButtonEventArgs> .AddHandler(designerThumb,
                                                                               "PreviewMouseLeftButtonDown", ResizeThumbOnMouseLeftButtonUp);

            drag.Started   += drag_Started;
            drag.Changed   += drag_Changed;
            drag.Completed += drag_Completed;
            return(designerThumb);
        }
예제 #3
0
        public FrameworkElementAdorner(FrameworkElement adornerChildElement, FrameworkElement adornedElement,
                                       AdornerPlacement horizontalAdornerPlacement, AdornerPlacement verticalAdornerPlacement,
                                       double offsetX, double offsetY)
            : base(adornedElement)
        {
            if (adornedElement == null)
            {
                throw new ArgumentNullException("adornedElement");
            }

            if (adornerChildElement == null)
            {
                throw new ArgumentNullException("adornerChildElement");
            }

            this.child = adornerChildElement;
            this.horizontalAdornerPlacement = horizontalAdornerPlacement;
            this.verticalAdornerPlacement   = verticalAdornerPlacement;
            this.offsetX = offsetX;
            this.offsetY = offsetY;

            adornedElement.SizeChanged += new SizeChangedEventHandler(adornedElement_SizeChanged);

            base.AddLogicalChild(adornerChildElement);
            base.AddVisualChild(adornerChildElement);
        }
예제 #4
0
 public GenericAdorner(
     UIElement adornedElement,
     UIElement adornerElement,
     bool visible,
     AdornerVerticalAlignment verticalAlignment,
     AdornerHorizontalAlignment horizontalAlignment,
     AdornerPlacement placement,
     Thickness adornerMargin,
     bool visibleOnFocus) : base(adornedElement)
 {
     if (adornedElement == null)
         throw new ArgumentNullException("adornedElement");
     if (adornerElement == null)
         throw new ArgumentNullException("adornerElement");
     if (!(adornedElement is FrameworkElement))
         throw new ArgumentException("adornedElement must be a FrameworkElement");
     if (!(adornerElement is FrameworkElement))
         throw new ArgumentException("adornerElement must be a FrameworkElement");
     
     _adornedElement = adornedElement as FrameworkElement;
     _adornerElement = adornerElement as FrameworkElement;
     
     if (!_adornedElement.IsLoaded)
         throw new ArgumentException("adornedElement not loaded. Create the adorner at the Loaded event.");
     
     _adornerElement.DataContext = _adornedElement;
     _visible = visible;
     _verticalAdornerAlignment = verticalAlignment;
     _horizontalAdornerAlignment = horizontalAlignment;
     _adornerPlacement = placement;
     _adornerMargin = adornerMargin;
     _visibleOnFocus = visibleOnFocus;
     
     this.InitializeAdorner();
 }
        public FrameworkElementAdorner(FrameworkElement adornerChildElement, FrameworkElement adornedElement,
                                       AdornerPlacement horizontalAdornerPlacement, AdornerPlacement verticalAdornerPlacement,
                                       double offsetX, double offsetY)
            : base(adornedElement)
        {
            if (adornedElement == null)
            {
                throw new ArgumentNullException(nameof(adornedElement));
            }

            if (adornerChildElement == null)
            {
                throw new ArgumentNullException(nameof(adornerChildElement));
            }

            Child = adornerChildElement;
            _horizontalAdornerPlacement = horizontalAdornerPlacement;
            _verticalAdornerPlacement   = verticalAdornerPlacement;
            _offsetX = offsetX;
            _offsetY = offsetY;

            adornedElement.SizeChanged += adornedElement_SizeChanged;

            AddLogicalChild(adornerChildElement);
            AddVisualChild(adornerChildElement);
        }
예제 #6
0
        public FrameworkElementAdorner(FrameworkElement adornerChildElement, FrameworkElement adornedElement, AdornerPlacement horizontalAdornerPlacement,
                AdornerPlacement verticalAdornerPlacement, double offsetX, double offsetY) : base(adornedElement) {
            _child = adornerChildElement;
            _horizontalAdornerPlacement = horizontalAdornerPlacement;
            _verticalAdornerPlacement = verticalAdornerPlacement;
            _offsetX = offsetX;
            _offsetY = offsetY;

            adornedElement.SizeChanged += adornedElement_SizeChanged;

            AddLogicalChild(adornerChildElement);
            AddVisualChild(adornerChildElement);
        }
예제 #7
0
    public FrameworkElementAdorner(FrameworkElement adornerChildElement, FrameworkElement adornedElement, AdornerPlacement horizontalAdornerPlacement, AdornerPlacement verticalAdornerPlacement, double offsetX, double offsetY)
        : base(adornedElement)
    {
        _child = adornerChildElement;
        _horizontalAdornerPlacement = horizontalAdornerPlacement;
        _verticalAdornerPlacement   = verticalAdornerPlacement;
        _offsetX = offsetX;
        _offsetY = offsetY;

        adornedElement.SizeChanged += AdornedElement_SizeChanged;

        AddLogicalChild(adornerChildElement);
        AddVisualChild(adornerChildElement);
    }
예제 #8
0
        public FrameworkElementAdorner(FrameworkElement adorner,
                                       FrameworkElement adornedElement,
                                       AdornerPlacement horizontalAdornerPlacement,
                                       AdornerPlacement verticalAdornerPlacement,
                                       double offsetX,
                                       double offsetY)
            : this(adorner, adornedElement)
        {
            this.horizontalAdornerPlacement = horizontalAdornerPlacement;
            this.verticalAdornerPlacement   = verticalAdornerPlacement;
            this.offsetX = offsetX;
            this.offsetY = offsetY;

            adornedElement.SizeChanged += (sender, args) => InvalidateMeasure();
        }
        public FrameworkElementAdorner( FrameworkElement adornerChildElement, FrameworkElement adornedElement,
            AdornerPlacement horizontalAdornerPlacement, AdornerPlacement verticalAdornerPlacement,
            double offsetX, double offsetY)
            : base(adornedElement)
        {
            myChild = adornerChildElement;
            mxHorizontalAdornerPlacement = horizontalAdornerPlacement;
            myVerticalAdornerPlacement = verticalAdornerPlacement;
            myOffsetX = offsetX;
            myOffsetY = offsetY;

            adornedElement.SizeChanged += OnAdornedElementSizeChanged;

            base.AddLogicalChild( adornerChildElement );
            base.AddVisualChild( adornerChildElement );
        }
예제 #10
0
        public FrameworkElementAdorner(FrameworkElement adornerChildElement, FrameworkElement adornedElement,
                                       AdornerPlacement horizontalAdornerPlacement, AdornerPlacement verticalAdornerPlacement,
                                       double offsetX, double offsetY)
            : base(adornedElement)
        {
            this.child = adornerChildElement;
            this.horizontalAdornerPlacement = horizontalAdornerPlacement;
            this.verticalAdornerPlacement   = verticalAdornerPlacement;
            this.offsetX = offsetX;
            this.offsetY = offsetY;

            adornedElement.SizeChanged += new SizeChangedEventHandler(adornedElement_SizeChanged);

            AddLogicalChild(adornerChildElement);
            AddVisualChild(adornerChildElement);
        }
예제 #11
0
        public FrameworkElementAdorner(FrameworkElement adornerChildElement, FrameworkElement adornedElement,
                                       AdornerPlacement horizontalAdornerPlacement, AdornerPlacement verticalAdornerPlacement,
                                       double offsetX, double offsetY)
            : base(adornedElement)
        {
            myChild = adornerChildElement;
            mxHorizontalAdornerPlacement = horizontalAdornerPlacement;
            myVerticalAdornerPlacement   = verticalAdornerPlacement;
            myOffsetX = offsetX;
            myOffsetY = offsetY;

            adornedElement.SizeChanged += OnAdornedElementSizeChanged;

            base.AddLogicalChild(adornerChildElement);
            base.AddVisualChild(adornerChildElement);
        }
        /// <summary>
        /// Initialises a new instance of the <see cref="FrameworkElementAdorner"/> class.
        /// </summary>
        /// <param name="adornerChildElement">The adorner child element.</param>
        /// <param name="adornedElement">The adorned element.</param>
        /// <param name="horizontalAdornerPlacement">The horizontal adorner placement.</param>
        /// <param name="verticalAdornerPlacement">The vertical adorner placement.</param>
        /// <param name="offsetX">The offset X.</param>
        /// <param name="offsetY">The offset Y.</param>
        public FrameworkElementAdorner(
            FrameworkElement adornerChildElement,
            FrameworkElement adornedElement,
            AdornerPlacement horizontalAdornerPlacement,
            AdornerPlacement verticalAdornerPlacement,
            double offsetX,
            double offsetY)
            : base(adornedElement)
        {
            this.child = adornerChildElement;
            this.horizontalAdornerPlacement = horizontalAdornerPlacement;
            this.verticalAdornerPlacement = verticalAdornerPlacement;
            this.offsetX = offsetX;
            this.offsetY = offsetY;

            adornedElement.SizeChanged += new SizeChangedEventHandler(this.OnAdornedElementSizeChanged);

            this.AddLogicalChild(adornerChildElement);
            this.AddVisualChild(adornerChildElement);
        }
예제 #13
0
 public static void SetVerticalPlacement(DependencyObject d, AdornerPlacement value)
 {
     d.SetValue(VerticalPlacementProperty, value);
 }
예제 #14
0
 public static void SetPlacement(UIElement element, AdornerPlacement value)
 {
     element.SetValue(PlacementProperty, value);
 }