【发布时间】:2014-04-07 01:36:51
【问题描述】:
只是想知道是否有一种方法可以将控件排列成圆形,例如圆桌。控件可以是图像或文本框。例如:如果我有一个椭圆形状,我只想沿着椭圆的周边填充控件。如果有使用 xaml 和 c# 的方法,请告诉我。这是我到目前为止所做的。我创建了一个矩形并使用 Point Type 获得 X、Y 位置值。基于这些点,我可以创建一个文本框..但不能循环,直到我再次达到 0,0。 0,0是左下位置(x,y)
for (int i = 0; i < count; i++)
{
TextBox tb = new TextBox();
tb.Text = "Button " + i;
Point p = new Point();
p.X = (int)(Math.Cos((double)i) * radius) + radius;
p.Y = (int)(Math.Sin((double)i) * radius) + radius;
Canvas.SetLeft(tb, p.X);
Canvas.SetTop(tb, p.Y);
SpTable.Children.Add(tb);
}
同样需要在 Y 方向添加控件... Ellipse 也可以用 Rectangle 代替。控件正在添加,但它们仅被添加到彼此下方的一列中。
<StackPanel x:Name="SpTable1">
【问题讨论】:
-
使用画布。所以你可以放置指定 x,y 坐标的项目
-
我用 Canvas 替换了 stackpanel,它起作用了。至少我现在可以看到一些圆形。
标签: c# xaml windows-8 winrt-xaml