来自UIElement的Cast(Of?)

时间:2013-08-07 17:17:28

标签: vb.net linq silverlight uielement

在silverlight中,我的自定义控件位于UIElementCollection的{​​{1}}中。我希望按特定值获取它们的列表。容器中只有StackPanel。当我知道我有一个或多个时,它会返回DivElements。我知道我可以制作一个简单的循环并将内联类型转换为内联,但我希望NothingLINQ能够更好。我尝试投射:

Cast(Of TResult)

1 个答案:

答案 0 :(得分:2)

问题是你不能施放List(Of DivElement)。该集合是UIElementCollection,而不是List(Of T)

但是,您可以构建一个新列表。这也可以通过使用OfType而不是手动投射来简化:

Dim myList = spDivs.Children.OfType(Of DivElement)()
                            .Where(Function(o) o.ElementParent Is bComm)
                            .ToList()