1

我有一个列 = 3 和行 = 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)

我的自定义用户控件和容器在哪里ObjectContainerControlGrid 是我的网格名称

此行向我发送以下错误:

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

我怎样才能解决这个问题???

4

1 回答 1

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()**
于 2012-07-19T20:53:06.773 回答