我正在开发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)