从网格中的特定单元格/列获取Usercontrol

时间:2012-07-19 20:08:37

标签: .net wpf web-applications casting grid

我有一个gridcolumns = 3和rows = 5的网格。每个单元格包含在运行时创建的相同自定义用户控件。每个自定义用户控件都有一个名称,其他属性不同。

到目前为止一直很好......

当我尝试将对象放入我使用的特定单元格中时(vb.net和WPF)此代码:

Dim currentContainer As ObjectContainerControl = ContainerGrid.Children.Cast(Of UIElement)().OfType(Of ObjectContainerControl)().Where(Function(c) Grid.GetRow(c) = 0 And Grid.GetColumn(c) = 0)

ObjectContainerControl是我的自定义用户控件,容器Grid是我的网格名称

此行向我发送以下错误:

无法将WhereEnumerableIterator'1[MyProject.ObjectContainerControl]类型的对象转换为My.ObjectContainerControl类型。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要从当前查询中获得的IEnumerable中选择一个元素。

调用First方法作为查询的最后一步,以获得正确的元素。

Dim currentContainer As ObjectContainerControl = 
    ContainerGrid.Children.Cast(Of UIElement)().OfType(Of ObjectContainerControl)()
    .Where(Function(c) Grid.GetRow(c) = 0 And Grid.GetColumn(c) = 0).**First()**