我在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。列表不会添加项目。
答案 0 :(得分:0)
我认为你是新手?您的画布列表属于您的New_Paint实例,您只需在关闭窗口之前向该列表添加一个画布(至少在您显示的代码中)。我不明白为什么你会期望不止一个。您需要拥有一个画布的主列表,这些画布由管理子窗口的任何内容所拥有。