在当前页面(包含在MainWindow内的一个框架内)中,当我点击一个按钮时会发生这种情况:
for (int i = 0; i < mw.pizzas.Length + 1; i++)
{
if (i == 10)
{
MessageBoxResult result = MessageBox.Show("You can't order more than 10 pizzas");
break;
}
if (mw.pizzas[i] == null)
{
mw.pizzas[i] = pizza;
break;
}
}
NavigationService.Content = new AnotherPage();
mw.pizzas字符串数组包含10个(我认为未定义)变量。我在MainWindow中定义了它:
public string[] pizzas = new string[10];
我已经在当前页面上定义了它,如下所示:
MainWindow mw = new MainWindow();
此循环通过使用变量&#34; pizza&#34;的内容定义这10个插槽来递增。定义数组的所有索引后,将弹出一条消息。但是,此消息从未显示出来。我在这里做错了什么?
编辑:这只是一个疯狂的猜测。这可能与我每次浏览此页面时创建new CurrentPage
有关。每次定义其中一个索引时,都会导航回上一页,然后使用NavigationService.Content = new CurrentPage();
编辑2:看起来第二个语句有问题。 mw.pizzas[0]
为null,然后获取其中的pizza的内容,然后在程序退出页面并再次输入后,以某种方式返回为null。
编辑3:我尝试将pizzaIDs数组设为静态,但是我收到以下错误:Member&#39; MainWindow.pizzaIDs&#39;无法使用实例引用访问;使用类型名称来限定它
答案 0 :(得分:0)
你循环从0到9(包括0和9),数组指示,当它达到10时,它会跳出循环并且不会执行。