1

columns=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にあり、コンテナグリッドはグリッドの名前です

この行は私に次のエラーを送信します:

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 に答える