0
我有一个TreeITem类和一个observablecollection。获取recusive observablecollection的项目
/// <summary>
/// Item class to generate a tree view of the queues and topics from the service bus.
/// </summary>
public class TreeItem
{
/// <summary>
/// The whole namespace tree
/// </summary>
public static ObservableCollection<TreeItem> Tree { get; set; }
//TreeItem properties
public string Name { get; set; }
public ObservableCollection<TreeItem> Items { get; set; }
.........
如果我创建一个树形结构我做到以下几点:
//Get queues and topics
TreeItem namespaceTree = new TreeItem() { Name = namespaceManager.Address.ToString() };
TreeItem queuesTree = GetQueues(namespaceManager.GetQueues());
//Get queues and topics
TreeItem namespaceTree = new TreeItem() { Name = namespaceManager.Address.ToString() };
TreeItem queuesTree = GetQueues(namespaceManager.GetQueues());
TreeItem topicsTree = GetTopics(namespaceManager.GetTopics());
//Generate the topic structure.
namespaceTree.Items.Add(queuesTree);
namespaceTree.Items.Add(topicsTree);
Tree.Add(namespaceTree);
如果我树绑定到树视图寄托都工作正常,但是当我想从树我有一个元素一个问题。例如,我尝试从树中得到一个特殊主题,但它没有工作。我试着用下面的代码:
private TreeItem GetTopicFromTree(ObservableCollection<TreeItem> tree)
{
TreeItem treeItem = null;
foreach(var item in tree)
{
if (!item.Name.Equals("topicx"))
GetTopicFromTree(item.Items);
else
treeItem = item;
}
return treeItem;
}
但随着递归它没有奏效。有没有人有一个想法如何做到这一点?
致以问候
海兰,非常感谢你的帮助,一切运行良好。 问候并祝你有美好的一天 – user2644964
@ user2644964很好听。如果这是您需要的解决方案,请随时将其标记为答案(左侧的复选标记)。我喜欢这些观点:) – payo