【发布时间】:2012-09-17 13:15:00
【问题描述】:
我在 wpf 中创建了一个画布列表,并且我有一个按钮单击事件。我希望当我按下按钮时它会添加到列表中的新画布。但是当我尝试在另一个窗口中更改画布的属性时,它说索引超出范围,这意味着列表没有添加画布。我创建了一个方法来检查它,实际上它说索引是 0。 我也有这个数组,这里也一样,我改变了它的值,但它仍然写的值为0。这是代码:
public partial class New_Paint : Window
{
public List<Canvas> paintsList = new List<Canvas>();
public Canvas painting = new Canvas();
private void ok_MouseUp(object sender, MouseButtonEventArgs e)
{
paintsList.Add(painting);
this.Close();
}
}
这是检查其大小的方法:
public int getSize()
{
return paintsList.Count;
}
这是主窗口中的代码:
private void button1_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = paint.getSize() + "";
}
尽管我单击“确定”,但方法返回 0。该列表不会添加项目。
【问题讨论】:
-
是的,我只是没在这里写
-
是的,除了我上面提到的以外,一切正常
-
this.Close 我假设关闭了窗口,对吧?
-
你在哪里添加“绘画”?因为你在做 paint.getSize 并没有添加任何东西。
-
一开始我是在添加,但每次都崩溃了,所以我想看看它是否将项目添加到列表中,因此使用 getSize 方法