如果我有一个从ItemsControl
派生的组件,我可以访问它的子项集合,以便我可以循环执行某些操作?我目前似乎无法找到任何简单的方法。如何访问ItemsControl的子项?
19
A
回答
41
一个类似勒布的,但可能具有更好的性能解决方案:
for(int i = 0; i < itemsControl.Items.Count; i++)
{
UIElement uiElement =
(UIElement)itemsControl.ItemContainerGenerator.ContainerFromIndex(i);
}
0
我假设ItemsControl.Items[index]
不工作呢?
我不是好笑,我没有检查我自己 - 这只是我的第一个猜测。大多数情况下,即使是数据绑定,控件也会具有项目索引器属性。
-2
使用ItemsControl.Items
属性:
foreach (var item in itemsControl1.Items)
{
Console.WriteLine(item.ToString());
}
+0
要重复我的评论,如果您使用数据源和数据模板,例如在数据模板中使用的字符串的负载,你得到的字符串返回为 – 2009-06-16 09:46:34
19
看看这可以帮助你:
foreach(var item in itemsControl.Items)
{
UIElement uiElement =
(UIElement)itemsControl.ItemContainerGenerator.ContainerFromItem(item);
}
有一个控制和逻辑项的UIElement
之间的差异。
9
要确定ItemsControl
的数据绑定子控件(如ToggleButton
),您可以使用此:
for (int i = 0; i < yourItemsControl.Items.Count; i++)
{
ContentPresenter c = (ContentPresenter)yourItemsControl.ItemContainerGenerator.ContainerFromItem(yourItemsControl.Items[i]);
ToggleButton tb = c.ContentTemplate.FindName("btnYourButtonName", c) as ToggleButton;
if (tb.IsChecked.Value)
{
//do stuff
}
}
相关问题
- 1. Wpf数据模板 - 如何访问ItemsControl中项目的父项?
- 2. 如何访问ItemsControl中的UI元素?
- 3. 如何访问ItemsControl中的ScrollViewer
- 4. 如何从ItemsControl中的项目访问同级?
- 5. 访问ItemsControl项目并逐个动画
- 6. 如何访问PreferenceScreen的所有子项?
- 7. 如何访问jQuery中的ui.item子项?
- 8. 如何ItemsControl的访问特定的项目,并取得了一些数据,UWP
- 9. 如何正确访问CSS子项?
- 10. 如何通过键访问ListView子项?
- 11. 如何从子项访问父变量
- 12. 如何访问Windows Phone中的ListBox中的内部ItemsControl Silverlight
- 13. 如何绑定ItemsControl子项的ListBox的ItemsSource?
- 14. 从ItemsControl的ItemTemplate.DataTemplate中访问ViewModel实例
- 15. ItemsControl DataTemplate中的WPF MVVM访问元素
- 16. SimpleXMLObject的PHP访问子项?
- 17. 如何绑定到NESTED ItemsControl的活动ItemsControl项目
- 18. Silverlight:如何在ItemsControl中的ItemsControl中移动项目
- 19. 如何从ItemsControl派生的自定义控件中访问ItemsHost
- 20. Silverlight - 将子项ItemsControl绑定到父项ItemsControl中的一个属性
- 21. 如何访问主项目中的子项目头文件
- 22. 如何绑定ItemsControl中的项目?
- 23. ItemsControl中项目的渲染问题
- 24. ItemsControl:如何在ItemsPanelTemplate中使用FindName访问面板
- 25. 从QScrollArea访问子项
- 26. 在XML中访问子项?
- 27. 如何访问Java中的子子类?
- 28. 如何访问子域
- 29. Python中如何访问子
- 30. 如何访问菜单项?
这没有按' t检索“子”元素(控件),只检索列表中的项目,这些项目不一定是控件。 – 2009-06-16 09:43:52
不,如果您使用数据源和数据模板,例如要在数据模板中使用的字符串负载,您将获得作为项目返回的字符串。 – 2009-06-16 09:45:35
够公平的。我会留下我的回答,因为您的意见可能有用。 – 2009-06-16 15:37:14