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() + "";
}
「OK」をクリックしても、メトスは0を返します。リストはアイテムを追加しません。