0

我有一个应该返回的函数UIElementCollection。该函数接受UIElement具有children属性(即stackpanel,grid等)但不知道UIElement它是哪个属性的 a,因此我将其存储到一个通用对象中。

public UIElementCollection retCol (object givenObject){
...
}

我想返回 的孩子,但除了投射为堆栈面板或网格givenObject之外,我找不到其他方法。givenObject

有没有办法我可以获得孩子的财产givenObject

4

1 回答 1

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;
}
于 2013-02-15T20:44:41.260 回答