サークルボタンを作成し、その位置をプログラマチックに設定するには? ボタンの配列を作成してその位置を設定しようとしていますが、コードが正しく機能していません。すべてのボタンが 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;
}
}
私は何を間違っていますか?
また、アプリが起動するとこんな感じ。なぜそれが起こっているのですか?