我是新的Windows手机,我想在网格内逐个动态创建一个文本框。我想使用他们的名字访问文本框来执行一些计算。我的代码如下所示:
public MainPage()
{
InitializeComponent();
string[] str = new string[2];
str[0] = "force";
str[1] = "force components";
TextBox[] textbox = new TextBox[2];
for (int i =0; i <2; i++)
{
textbox[i].Text = str[i];
ContentPanel.Children.Add(textbox[i]);
}
}
上面的代码在“textbox [i] .Text = str [i]”行中显示空引用异常。 请告诉我清除此问题的代码。帮我。谢谢..
答案 0 :(得分:1)
我并不完全相信你这样做是正确的*,但是如果没有任何更好的信息,我会直接回答你的问题......
您没有为循环的每次迭代声明一个新的TextBox。试试这个......
for (int i =0; i <2; i++)
{
textbox[i]= new TextBox { Text = str[i] } ;
ContentPanel.Children.Add(textbox[i]);
}
*绑定到某种ItemsControl可能更可取......
答案 1 :(得分:0)
添加到zombiesheep所说的内容。您还需要定义它们的绘制位置。如果不这样做,它们将显示在彼此之上(如果使用网格布局)。 所以你需要指定边距,高度和宽度等。 我曾经像这样添加按钮到网格控件,我做的是:
button[i].Margin.X= 24+button[i-1].Margin.X;
这将在x轴上以24像素为单位绘制下一个按钮,前一个按钮。