如何以编程方式创建圆形按钮并设置它的位置

时间:2013-08-02 09:52:28

标签: c# wpf-controls

如何创建圆形按钮并以编程方式设置它的位置? 我正在尝试创建一个按钮数组并设置它们的位置,但是为什么代码不能以正确的方式工作。所有按钮都显示在1个位置,而不是圆圈。

    private void addButtons(int hLimit, int vLimit)
    {
        dotButton[] dotsArray = new dotButton[hLimit * vLimit];

        int scale = 30;
        int yStart = 100;
        int xStart = 50;
        int yEnd = yStart + (hLimit - 1)*scale;
        int xEnd = xStart + (vLimit - 1)*scale;


        for (int i = 0; i < hLimit; ++i)
        {
            for (int j = 0; j < vLimit; ++j)
            {
                int id = j*hLimit + i;
                dotsArray[id] = new dotButton(id, j, i);
                dotsArray[id].Width = Width = 10;
                dotsArray[id].Height = Height = 10;
                dotsArray[id].Style = Resources["Sircle Button"] as Style;
                dotsArray[id].Click += new RoutedEventHandler(dotClick);
                double x = xStart + j * scale - Width/2;
                double y = yStart + i * scale - Height/2;
                dotsArray[id].Margin = new Thickness(x, y, x + Width, y + Height);

                myGrid.Children.Add(dotsArray[id]);
            }
        }
    }

dotButton是我写的按钮类

    public class dotButton : Button
{
    private int id;
    private int x;
    private int y;

    public int ID
    {
        get { return id; }
        set { id = value; }
    }
    public int X
    {
        get { return x; }
        set { x = value; }
    }
    public int Y
    {
        get { return y; }
        set { y = value; }
    }

    public dotButton(int ID, int X, int Y)
    {
        this.ID = ID;
        this.X = X;
        this.Y = Y;
    }
}

我做错了什么?

此外,随着应用程序的启动,它看起来像这样。为什么会这样?

enter image description here

0 个答案:

没有答案