这是我用来创建100个堆栈面板的代码,每个面板中都有2个标签:
for (int i = 0; i < 100; i++)
{
Border border = new Border();
StackPanel panel = new StackPanel();
panel.Children.Add(new Label { Content = i, Name = ("RAM" + i), Height = 25, VerticalAlignment = VerticalAlignment.Top}); //Label to display RAM Address
panel.Children.Add(new Separator { });
panel.Children.Add(new Label { Content = "000", Name = ("OpCode" + i), Height = 25, VerticalAlignment = VerticalAlignment.Bottom}); //Label to display Operator code
RamArray.Children.Add(panel); //Adding StackPanel
}
以下代码是我用来查找&#34; OpCode&#34;标签:
for (int i = 0; i < InputBox.LineCount; i++)
{
var opcodelabel = RamArray.FindName("OpCode" + i) as Label;
RAM[i] = InputBox.GetLineText(i);
opcodelabel.Content = RAM[i];
}
我遇到的问题是运行代码时出现此错误,它指向opcodelabel.Content = RAM [i]; line:
未处理的类型&#39; System.NullReferenceException&#39;发生在LittleManComputer Project.exe中。附加信息:对象引用未设置为对象的实例。
我已经在设计器中使用堆栈面板和标签测试了这个方法,并且代码在这种情况下工作,但是一旦我尝试在我的代码中创建的东西上使用它,那么它就不会再努力了。
编辑:问题不重复,建议的副本不解释与FindName()
的任何关系