C# 在较大的矩形内绘制/删除多个矩形

C# 在较大的矩形内绘制/删除多个矩形,c#,wpf,canvas,children,C#,Wpf,Canvas,Children,我使用这个代码: canvas.Children.Add(rect); Canvas.SetTop(rect, (100 - prof) + (j * height)); Canvas.SetLeft(rect, (100 + prof) + (k * widht)); 在画布内先前绘制的矩形内绘制多个矩形 我需要删除/清除此矩形 我试过了 canvas.Children.Remove(rect); 但这不会删除矩形 和使用 canvas.Children.Clear(); 删除画布中

我使用这个代码:

canvas.Children.Add(rect);
Canvas.SetTop(rect, (100 - prof) + (j * height));
Canvas.SetLeft(rect, (100 + prof) + (k * widht));
在画布内先前绘制的矩形内绘制多个矩形

我需要删除/清除此矩形

我试过了

  canvas.Children.Remove(rect);
但这不会删除矩形

和使用

canvas.Children.Clear();
删除画布中的所有子对象,我只想删除大矩形中的内容

有没有一种方法可以做到这一点,而不必在大矩形内创建一个小画布,然后进行.clear操作


谢谢。

替换
ContentControl
的外部矩形,并将子对象添加到该矩形中,而不是父对象
画布
。您可能希望使用类似的方法删除不在某个区域内的所有视图模型项。外部矩形是图形表示,我无法使用ContentControl进行此操作。也许最好的解决方案是在矩形内创建画布。