我有一个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
类型。
我该如何解决这个问题?
答案 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()**