我有一个应该返回UIElementCollection
的函数。该函数接收具有UIElement
属性的children
(即stackpanel
,grid
等),但不知道它是UIElement
,所以我将它存储在一般对象中。
public UIElementCollection retCol (object givenObject){
...
}
我想返回givenObject
的孩子,但除了将givenObject
作为堆叠面板或网格投射之外,我找不到办法。
有没有办法可以获得givenObject
的儿童属性?
答案 0 :(得分:0)
StackPanel
和Grid
都继承自Panel
,因此您可以将方法更改为:
public UIElementCollection retCol (Panel givenObject){
return givenObject.Children;
}
或者如果你想让它适用于所有UIElement
类型,你可以使它更通用并检查函数中的类型:
public UIElementCollection retCol (UIElement givenObject){
if(givenObject is Panel)
return ((Panel)givenObject).Children;
else if(givenObject is SomeOtherContainer)
return ((SomeOtherContainer)givenObject).Children;
else
return null;
}