我想访问包含ItemCollection
(称为OOB)项目的Treeview
的内容。
if (OOB.Items.Count > 0)
{
ItemCollection items = OOB.Items;
foreach (TreeViewItem node in items)
foreach
抛出运行时错误:
无法转换' System.Xml.XmlElement'类型的对象键入' System.Windows.Controls.TreeViewItem'。
我可以查看我想从调试器访问的ItemCollection
项中的信息:
如何访问元素,特别是元素名称?
答案 0 :(得分:1)
ItemsControl的Items
或ItemsSource
集合包含任意类型的数据项,而不是TreeViewItems(除非您明确添加它们)。
TreeView的Items
集合包含XmlElements,您可以直接访问它们,如下所示:
foreach (XmlElement node in OOB.Items)
{
var name = node.Name; // node is an XmlElement
...
}
如果您确实需要访问项目容器,可以像这样使用ItemsControl' ItemContainerGenerator
:
var treeViewItem = (TreeViewItem)OOB.ItemContainerGenerator.ContainerFromItem(node);