我正在用UWP制作一个子手应用程序。我想创建一个等于单词长度的矩形(用于字母下方的条形)。我已经有一个循环,该循环创建的列数等于单词的长度。与列不同,我创建的矩形将需要具有标识符,以便可以设置其属性。通过将矩形的标识符设置为字符串的内容,是否可以将矩形的标识符设置为Bar1,Bar2等?这就是我的想象:
for (int counter = 0; counter < stupidWord.Length; counter++)
{
WordGrid.ColumnDefinitions.Add(new ColumnDefinition());
string barName = "Bar" + counter;
Rectangle barName = new Rectangle();
}
矩形的标识符应为构造时的barName等于。
答案 0 :(得分:0)
您要求的功能是独立访问每个Rectangle对象(也许在游戏运行时),这可以通过使用Collection存储对象来实现:
List<Rectangle> rectangles = new List<Rectangle>();
for(int i = 0; i < word.Length; i++)
{
var rectangle = new Rectangle();
rectangles.Add(rectangle);
}
然后,您可以通过在它们的索引处查找来访问每个矩形:
int indexOfCurrentGuessingChar = 1;
Rectangle currentRectangle = rectangles[indexOfCurrentGuessingChar];
//now i have retreived the rectangle of index 1, and can access its properties
currentRectangle.Width = 100;
也就是说,这是连接具有唯一ID的Rectangle的可能解决方案: 为了能够将每个Rectangle对象连接到一个id,一种解决方案是创建一个具有矩形和id属性的类:
class Container
{
public Rectangle Rectangle;
public string Id;
}
然后使用如下的Container类:
Container container = new Container();
container.Rectangle = new Rectangle();
container.Id = "bar1";