【问题标题】:TreeView get selected node issueTreeView 获取选定节点问题
【发布时间】:2013-10-30 18:00:21
【问题描述】:

试图获取在树视图中选择的父节点和子节点标头,但我收到无法将字符串转换为 TreeViewItem 的错误。

private void tvSQLTasks_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
    {
        //error is here
        TreeViewItem child = (TreeViewItem)tvSQLTasks.SelectedItem;

        if (child.Parent is TreeViewItem)
        {
            TreeViewItem parent = (TreeViewItem)child.Parent;

            SQLTask _task = SQLTasks.Where(t => t._rootNode.Equals(parent.Header.ToString()) && t._childNode.Equals(child.Header.ToString())).FirstOrDefault();

            if (_task != null)
            {
                txtTaskDescription.Text = _task._taskDescription;
            }
        }
    }

这是我添加节点的方式

      private void AddRootNode(string _nodeName)
    {
        tvSQLTasks.Items.Add(new TreeViewItem() { Header = _nodeName });
    }

    private void AddChildNode(string _rootNode, string _childeNode)
    {
        foreach (TreeViewItem node in tvSQLTasks.Items)
        {
            if (node.Header.Equals(_rootNode))
            {
                (node as TreeViewItem).Items.Add(_childeNode);
            }
        }
    }

【问题讨论】:

    标签: wpf treeview treeviewitem


    【解决方案1】:

    这似乎是问题所在:

     (node as TreeViewItem).Items.Add(_childeNode);
    

    尝试将其更改为:

     node.Items.Add(new TreeViewItem() { Header = _childeNode});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多