如何在WPF中了解Canvas.Children中的对象类型?例如,我在Canvas上显示了一个Ellipse和Rectangle。如何获得Canvas.Children[0]
的类型?我有这样的东西,但它说,“给定的表达式永远不会提供('System.Windows.Shapes.Ellipse')类型”。我需要检查一下:
if (canvas.Children[0].GetType() is System.Windows.Shapes.Ellipse)
答案 0 :(得分:4)
您无法在此使用is
,因为GetType()
会返回Type
,那么您需要使用typeof
(MSDN):
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)