繁体   English   中英

WPF树父子插入:

[英]WPF Tree Parent Child Insertion:

我正在尝试使用WPF树创建低于父级子结构。

Tree

 ->Parent

    ->Child

      ->Grand Child.

我写了下面的代码,它不能为孩子插入。 请帮助我解决此问题。

<Window x:Class="NewTree_DynamicNode.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TreeView Name="treeFileSystem" TreeViewItem.Expanded="treeFileSystem_Expanded_1">
            <TreeViewItem Header="Categories" x:Name="_ImageTree" Tag="hi" 
                  x:FieldModifier="private">
                <TreeViewItem TextBlock.FontStyle="Italic" 
                    Header="Loading..." Name="treeFileSystem2"/>
            </TreeViewItem>
        </TreeView>
    </Grid>
</Window>




private void treeFileSystem_Expanded_1(object sender, RoutedEventArgs e)
        {
            this._ImageTree = (TreeViewItem)e.OriginalSource;
            this._ImageTree.Items.Clear();

            try
            {
                for(int i=0 ; i<2; i++)  
                {
                   TreeViewItem temp = new TreeViewItem();
                   TreeViewItem temp1 = new TreeViewItem();
                    temp.Header = "Parent";
                    temp1.Header = "Child";
                    temp.Items.Add(temp1);                
                    this._ImageTree.Items.Add(temp);                      
                }
            }
            catch
            {
                  /////
            }
        }

您的问题是,每次扩展节点时,所扩展节点的子节点始终为“ Parent ”节点

我不确定您要达到的目标,但是这里有一些代码:

TreeViewItem temp = new TreeViewItem();
temp.Header = "Child";
temp.Items.Add(null);
this._ImageTree.Items.Add(temp);

编辑 -这是针对层次结构中的特定名称

TreeViewItem temp = new TreeViewItem();
var header = string.Empty;
switch (_ImageTree.Header.ToString())
{
    case "Categories":
        header = "Parent";
        break;
    case "Parent":
        header = "Child";
        break;
    case "Child":
        header = "GrandChild";
        break;
    default:
        header = "Child of " + _ImageTree.Header;
        break;
}
temp.Header = header;
temp.Items.Add(null);
this._ImageTree.Items.Add(temp);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM