gpt4 book ai didi

c# - 如何将 TreeViewItem 放入生成的 TreeViewItem 中?

转载 作者:行者123 更新时间:2023-11-30 16:14:33 25 4
gpt4 key购买 nike

C#:

TreeViewItem treeItem = null;
treeItem = new TreeViewItem();
treeItem.Header = "Audit";


foreach (cAuditTransactionTypeEntity tt in _Pot)
{
char[] charsToTrim = {' ', '\t' };
treeItem.Items.Add(new TreeViewItem() { Header = tt.TransactionType, Name = tt.TransactionType.Replace(" ", "")});
}

ToDoList.Items.Add(treeItem);

XAML:

<TreeView x:Name="MyTreeView" HorizontalAlignment="Left" Height="430" Margin="381,409,0,0" VerticalAlignment="Top" Width="616">
<TreeViewItem Name="ToDoList" Header="To Do List" FontSize="20" IsExpanded="True">
</TreeViewItem>
</TreeView>

我已将 TreeViewItems 添加到 TreeView 中,如上所示。现在我需要在每个生成的 TreeViewItems 下添加更多项目。但是,如 XAML(也在上面)中所示,尚未添加新生成的项目,因此我无法命名它们以在代码中引用它们。

treeItem.Items.Add(new TreeViewItem() { Header = tt.TransactionType, Name = tt.TransactionType.Replace(" ", "")});

因此,我在这部分代码中添加了名称生成。此外,此尝试失败并且仍然无法引用我生成的 TreeViewItems,因为名称仅在运行时生成。

是否有另一种方法解决这个问题,或者是否有另一种方法可以在代码中找到每个生成的 TreeViewItems,然后在它们下面添加新的 Items

最佳答案

您只需要保留对刚刚创建的 TreeViewItem 的引用并将项目添加到该 treeViewItem

TreeViewItem treeItem = null;
treeItem = new TreeViewItem();
treeItem.Header = "Audit";


foreach (cAuditTransactionTypeEntity tt in _Pot)
{
TreeViewItem createdTV ;

char[] charsToTrim = {' ', '\t' };

//Keep a reference to the created TreeViewItem
createdTV = new TreeViewItem() { Header = tt.TransactionType, Name = tt.TransactionType.Replace(" ", "")}

//Create the childs of the createdTreeView

foreach (cAuditTransactionTypeEntity otherInfo in _OtherList)
{
createdTV.Items.Add(new TreeViewItem() { Header = otherInfo.TransactionType, Name = otherInfo.TransactionType.Replace(" ", "")}) ;
}

treeItem.Items.Add(createdTV);
}

ToDoList.Items.Add(treeItem);

如果您需要做的是查找特定子项并向其添加项目...

foreach (TreeviewItem objTreeviewItem in ToDoList.Items) 
{
//change to the desired transaction type
if ((objTreeviewItem.Header == "TransType")) in your comments
{
//add the IDs that correspond to the transaction type
objTreeviewItem.Items.Add(new TreeViewItem() { Header = child.ID, Name = child.Name}) ;
}

}

关于c# - 如何将 TreeViewItem 放入生成的 TreeViewItem 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com