eve*_*v92 1 c# wpf xaml canvas
我的画布上几乎没有标签,线条和矩形。我只想从画布上获取标签,然后用另一个标签替换。是否可以只获得标签?我尝试foreach元素,但给我例外:
无法将类型为“ 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);
}
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何只能从画布上获取标签。
提前致谢
您应该使用Enumerable.OfType:
foreach (var child in canvas.Children.OfType<System.Windows.Controls.Label>())
{
}
Run Code Online (Sandbox Code Playgroud)
来自msdn:
OfType(IEnumerable)方法仅返回源中可以转换为TResult类型的那些元素。