小编Son*_*mar的帖子

使用.net adorner同时调整多个不同的形状

我正在开发WPF中的桌面应用程序,它包含不同类型的形状(如圆形,半径圆形,直径圆形).现在我需要按需调整形状大小,所以我使用.Net adorner它可以灵活地拖动和调整形状.确切的问题是我想同时调整两个元素的大小(即*当我调整圆的大小时,半径线也应该相对于半径的起点和终点调整大小).

注意我没有尝试任何东西(我还没有做任何开发,所以我没有代码).

更新了您的代码的试用版.这是一个Diameter Circle所以当我拖动它时它只会拖动椭圆

在此输入图像描述

public class SimpleCircleAdorner : Adorner
    {
        // Be sure to call the base class constructor.
        public SimpleCircleAdorner(UIElement adornedElement, Panel ownerPanel)
            : base(adornedElement)
        {
            _ownerPanel = ownerPanel;
        }

        protected override void OnMouseEnter(MouseEventArgs e)
        {
            Point point = Mouse.GetPosition(AdornedElement);
            _currentPosition = getMousePosition(point);
            switch (_currentPosition)
            {
                case MousePosition.BR:
                case MousePosition.TL:
                    Cursor = Cursors.SizeNWSE;
                    break;
                case MousePosition.BL:
                case MousePosition.TR:
                    Cursor = Cursors.SizeNESW;
                    break;
            }
        }

        protected override void OnMouseLeave(MouseEventArgs e)
        {
            AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(AdornedElement); …
Run Code Online (Sandbox Code Playgroud)

c# wpf adornerlayer

10
推荐指数
2
解决办法
614
查看次数

标签 统计

adornerlayer ×1

c# ×1

wpf ×1