我真的很喜欢c#(1-2天......)。我仍然没有得到如何访问网格并测试特定行和按钮内的按钮。对于属性“isEnabled”,列设置为true。 我想测试是否有蓝色按钮,红色按钮是否启用。
我不知道怎么写测试,在[row] [col](或者[i] [j]在这种情况下...)和他的属性“isEnabled”访问@按钮。 它是带按钮的8 * 8网格。非常感谢帮助我。
public bool isButtonAvaible(Button button)
{
row = (int)button.GetValue(Grid.RowProperty);
col = (int)button.GetValue(Grid.ColumnProperty);
foreach (Button b in gridBoard.Children) //not sure if correct/needed
{
for (int i = row - 1; i <= row + 1; i++)
{
for(int j = col - 1; j <= col +1; j++)
{
if(gridBoard.Children ??? (Button.IsEnabledProperty ==true)
{
return true;
}
}
}
}
return false;
}
答案 0 :(得分:0)
如果您想要运行测试以查看是否启用了按钮,就像您已经格式化了您的功能一样,它就像
一样简单public bool isButtonAvailable(Button btn)
{
return btn.IsEnabled;
}
IsEnabled
是一个布尔属性,所以如果您要将按钮作为参数传递给此函数,您只需要返回您传递的按钮是启用还是启用的真/假或不。你尝试的其他一切 - 做得太多了。
答案 1 :(得分:0)
private static Button GetChildren(Grid grid, int row, int column)
{
foreach (Button child in grid.Children)
{
if (Grid.GetRow(child) == row
&&
Grid.GetColumn(child) == column)
{
return child;
}
}
return null;
}
但它也可以更通用:public UIElement GetChildren(etc
...){}