C# WPF 怎么先判断是否为Polyline后 再删除Polyline
时间: 2023-07-31 22:10:23 浏览: 148
在 WPF 中,您可以使用 `is` 操作符判断一个对象是否为 `Polyline`,然后再删除它。具体步骤如下:
1. 获取对画布的引用。例如,如果您的画布名为 myCanvas,则可以使用以下代码获取引用:
```
var canvas = myCanvas;
```
2. 遍历画布中的所有元素。例如,如果您想要删除所有的 `Polyline`,则可以使用以下代码遍历画布中的所有元素:
```
foreach (var element in canvas.Children)
{
if (element is Polyline)
{
var polyline = (Polyline)element;
// 删除 Polyline
canvas.Children.Remove(polyline);
}
}
```
在这个示例中,我们使用 `is` 操作符判断当前元素是否为 `Polyline`。如果是 `Polyline`,则获取对该 `Polyline` 的引用,并从画布中删除它。
请注意,当您在遍历集合时修改集合中的元素时,可能会引发异常。为了避免这种情况,您可以使用 `ToList()` 方法将集合转换为列表,然后在列表上执行遍历和删除操作。例如:
```
foreach (var element in canvas.Children.OfType<Polyline>().ToList())
{
canvas.Children.Remove(element);
}
```
在这个示例中,我们使用 `OfType()` 方法筛选出所有的 `Polyline`,然后使用 `ToList()` 方法将它们转换为列表,最后在列表上执行遍历和删除操作。
阅读全文