如何获取SelectedItem的所有孩子

时间:2014-02-11 19:25:22

标签: c# wpf nodes selecteditem

在我的程序中,我想获取父节点的所有子节点,以便我可以向其添加新节点。过去我使用过这种方法:

//This gets all the children of a parent node depending on it's DisplayName
var node = ObservableCollection.GetAllChildren(x => x.Children).Distinct().ToList().First(x => x.DisplayName == nameOfNode);
node.Children.Add(CreateNode(newNodeName));

现在我希望GetAllChildren基于我的SelectedItem属性,该属性功能齐全。是否可以使用GetAllChildren方法执行此操作?如果是这样,怎么样?

加法1:

我的SelectedItem属性属于ViewModel类型。 ObservableCollection也是ViewModel类型,因此基本上SelectedItem告诉程序选择了哪个ViewModel。

加法2:

我不能简单地添加到父节点。在添加之前,我必须检查此程序中有多少个孩子出于其他原因。

1 个答案:

答案 0 :(得分:1)

我可能错了,但对我来说,你似乎在问如何找到一个等于SelectedItem的节点并为其添加一个新节点。为什么不使用SelectedItem.Add而不是???通过引用等于你可以节省搜索。

为计算孩子只需使用Linq Count()方法:)