我正在搜索从treeView获取TreeViewItem的linq-to-objects方法。
我想做这样的事情:
var node =
from TreeViewItem childs in tree.Items
where ((int) childs.Tag) == 1000
select childs;
string tag = ((TreeViewItem)node).Tag.ToString();
然后我想将孩子附加到此节点。
感谢。
答案 0 :(得分:2)
您需要使用FirstOrDefault从查询创建的枚举中提取第一个匹配元素。在检查它是否为空之后,您可以像往常一样操作它。
var query =
from TreeViewItem childs in tree.Items
where ((int) childs.Tag) == 1000
select childs;
var node = query.FirstOrDefault();
if (node != null)
{
...
}
请注意,由于FirstOrDefault将返回TreeViewItem,因此您不再需要强制转换。