如何在Canvas.Children中了解一种对象

时间:2013-09-21 19:49:05

标签: wpf canvas

如何在WPF中了解Canvas.Children中的对象类型?例如,我在Canvas上显示了一个Ellipse和Rectangle。如何获得Canvas.Children[0]的类型?我有这样的东西,但它说,“给定的表达式永远不会提供('System.Windows.Shapes.Ellipse')类型”。我需要检查一下: if (canvas.Children[0].GetType() is System.Windows.Shapes.Ellipse)

2 个答案:

答案 0 :(得分:4)

您无法在此使用is,因为GetType()会返回Type,那么您需要使用typeofMSDN):

if (canvas.Children[0].GetType() == typeof(System.Windows.Shapes.Ellipse))

或者您可以直接在is

上使用canvas.Children[0]
if (canvas.Children[0] is System.Windows.Shapes.Ellipse)

答案 1 :(得分:0)

如果你只是想知道你的元素是椭圆还是矩形,你可以直接说

if(canvas.Children[0] is Ellipse)

if(canvas.Children[0] is Rectangle)