0

我在 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。该列表不会添加项目。

4

1 回答 1

0

我认为你是新来的?您的画布列表属于您的 New_Paint 实例,您只需在关闭窗口之前将一个画布添加到该列表中(至少在您显示的代码中)。我不明白你为什么期望不止一个。您需要拥有一个由管理您的子窗口的任何事物所拥有的画布主列表。

于 2012-09-17T13:29:23.213 回答