キャンバス上にいくつかの楕円を作成する必要があるWPFプロジェクトがあります。2つのチェックボックスを作成し、最初のチェックボックスをオンにすると、赤い楕円がキャンバスに表示されます。最初のチェックボックスをオフにすると、楕円が消えます。2番目のチェックボックスは、代わりに青い楕円を作成することで同じ機能を果たします。
これが私の状況です。2つのチェックボックスをオンにすると、青と赤の楕円が表示されます。キャンバス上の楕円をクリアするには、を使用しmyCanvas.children.clear()
ます。しかし、チェックボックスの1つをオフにすると、両方の楕円が削除されます。
private void redCB_Checked(object sender, RoutedEventArgs e)
{
drawRedCircle();
}
private void redCB_Unchecked(object sender, RoutedEventArgs e)
{
myCanvas.Children.Clear();
}
private void blueCB_Checked(object sender, RoutedEventArgs e)
{
drawBlueCircle();
}
private void blueCB_Unchecked(object sender, RoutedEventArgs e)
{
myCanvas.Children.Clear();
}
private void drawRedCircle()
{
Ellipse myCircle = new Ellipse();
myCircle.Stroke = Brushes.Red;
myCircle.Width = 30;
myCircle.Height = 30;
myCircle.StrokeThickness = 2;
Canvas.SetLeft(myCircle, 10);
Canvas.SetRight(myCircle, 10);
Canvas.SetBottom(myCircle, 10);
Canvas.SetTop(myCircle, 10);
myCanvas.Children.Add(myCircle);
}
private void drawBlueCircle()
{
Ellipse myCircle = new Ellipse();
myCircle.Stroke = Brushes.Blue;
myCircle.Width = 30;
myCircle.Height = 30;
myCircle.StrokeThickness = 2;
Canvas.SetLeft(myCircle, 20);
Canvas.SetRight(myCircle, 20);
Canvas.SetBottom(myCircle, 20);
Canvas.SetTop(myCircle, 20);
myCanvas.Children.Add(myCircle);
}