我的画布上有很少的标签,线条和矩形。我想从画布中只获取标签,然后用另一个标签替换。是否可以只获得标签?我试图预测元素但是给我例外:
无法转换类型为'System.Windows.Shapes.Line'的对象输入 ' System.Windows.Controls.Label'
我尝试使用此代码:
foreach (System.Windows.Controls.Label child in canvas.Children)
{
try
{
double.Parse(child.Content.ToString());
}
catch (FormatException)
{
continue;
}
canvas.Children.Remove(child);
}
任何人都知道如何只从画布中获取标签。
提前致谢
答案 0 :(得分:5)
您应该使用Enumerable.OfType
:
foreach (var child in canvas.Children.OfType<System.Windows.Controls.Label>())
{
}
来自msdn:
OfType(IEnumerable)方法仅返回那些元素 可以强制转换为TResult类型的源。