如果我有一個從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. 如何訪問ItemsControl中的ScrollViewer
- 2. 如何從ItemsControl中的項目訪問同級?
- 3. 如何訪問jQuery中的ui.item子項?
- 4. 如何訪問PreferenceScreen的所有子項?
- 5. 如何ItemsControl的訪問特定的項目,並取得了一些數據,UWP
- 6. 如何正確訪問CSS子項?
- 7. 如何通過鍵訪問ListView子項?
- 8. 如何訪問Windows Phone中的ListBox中的內部ItemsControl Silverlight
- 9. ItemsControl DataTemplate中的WPF MVVM訪問元素
- 10. 如何從ItemsControl派生的自定義控件中訪問ItemsHost
- 11. Silverlight - 將子項ItemsControl綁定到父項ItemsControl中的一個屬性
- 12. 如何綁定ItemsControl中的項目?
- 13. ItemsControl中項目的渲染問題
- 14. ItemsControl:如何在ItemsPanelTemplate中使用FindName訪問面板
- 15. 在XML中訪問子項?
- 16. 如何訪問Java中的子子類?
- 17. 如何訪問子域
- 18. Python中如何訪問子
- 19. 如何訪問菜單項?
- 20. 如何以編程方式訪問DisplayObject的所有子項?
- 21. 如何循環訪問ListView的特定子項?
- 22. Windows窗體 - 如何按列名訪問ListView的子項?
- 23. 如何使用XPathNavigator訪問XML子項的索引?
- 24. 如何在@PostConstruct方法中訪問組件的子項?
- 25. 如何訪問JSON數組中的子項目
- 26. 訪問SWT中樹的子項Eclipse
- 27. 訪問sbt子項目的managedClasspath
- 28. 在android中訪問容器的子項
- 29. 訪問WinForms中的ToolStripMenuItem子項
- 30. 如何訪問數據綁定ItemsControl中的選中的單選按鈕?
這沒有按' t檢索「子」元素(控件),只檢索列表中的項目,這些項目不一定是控件。 – 2009-06-16 09:43:52
不,如果您使用數據源和數據模板,例如要在數據模板中使用的字符串負載,您將獲得作爲項目返回的字符串。 – 2009-06-16 09:45:35
夠公平的。我會留下我的回答,因爲您的意見可能有用。 – 2009-06-16 15:37:14