を取得するItemsSource
と、ビュー モデルの境界がユーザー コントロールにItemsControl
返されますObservableCollection
が、ユーザー コントロールの を取得したいと考えていObservableCollection
ます。に含まれているユーザー コントロールを取得するにはどうすればよいItemsControl
ですか?
質問する
1736 次
3 に答える
1
ItemContainerGeneratorもご覧ください。おそらく、ContainerFromIndexまたはContainerFromItemメソッドを使用して、各要素のコンテナーを取得できます。
于 2012-06-27T12:26:58.563 に答える
1
最初に、ItemsControl.ContainerFromElement を呼び出して、表示される各データ項目の「ルート コントロール」を取得する必要があります。また、VisualTreeHelper を使用してコントロールを反復処理できます。
于 2012-06-27T12:23:53.660 に答える
1
ルート コントロールの FindByName を使用するか、この関数でビジュアル ツリーをたどることができます。
public static FrameworkElement FindByName(string name, FrameworkElement root)
{
Stack<FrameworkElement> tree = new Stack<FrameworkElement>();
tree.Push(root);
while (tree.Count > 0)
{
FrameworkElement current = tree.Pop();
if (current.Name == name)
return current;
int count = VisualTreeHelper.GetChildrenCount(current);
for (int i = 0; i < count; ++i)
{
DependencyObject child = VisualTreeHelper.GetChild(current, i);
if (child is FrameworkElement)
tree.Push((FrameworkElement)child);
}
}
return null;
}
于 2012-06-27T12:41:36.123 に答える