gpt4 book ai didi

c# - 如何在 WPF 中指定 Canvas 上椭圆形状的位置?

转载 作者:可可西里 更新时间:2023-11-01 03:05:33 25 4
gpt4 key购买 nike

我正在以编程方式创建椭圆形状,但我找不到任何指定其位置的属性。 Lines 具有 X1、Y1、X2、Y2,但在椭圆形状上没有中心、位置、X、Y 等。我该怎么做?

最佳答案

将形状放在屏幕上的任意位置可能应该在 Canvas 面板中完成(请参阅@phoog 的回复)。但是,如果您将其放置在 Grid 或其他面板中,则始终可以修改 Margin 属性以将其放置在您想要的位置。

如果您想通过指定中心点而不是椭圆的左上角来这样做,您可以这样做:

Ellipse CreateEllipse(double width, double height, double desiredCenterX, double desiredCenterY)
{
Ellipse ellipse = new Ellipse { Width = width, Height = height };
double left = desiredCenterX - (width / 2);
double top = desiredCenterY - (height/ 2);

ellipse.Margin = new Thickness(left, top, 0, 0);
return ellipse;
}

我还没有检查这是否完全符合您在编译器中的要求,但希望您明白了。同样,与在非 Canvas 面板内使用 Margin 相比,使用 Canvas 是更可取的方法,但计算 left 和 top 的相同原则仍然适用:

Canvas.SetLeft(ellipse, desiredCenterX - (width/2))
Canvas.SetTop(ellipse, desiredCenterY - (height/2))

关于c# - 如何在 WPF 中指定 Canvas 上椭圆形状的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5589256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com