TreeView结构如下:
|--A
   |--A1
      |--AA1
|--B
   |--B1
      |--BB1
         |--AA1
我要在选中AA1时,将其AA1传出来进行数据查询
怎样判断传出来是A1下的AA1还是B1下的AA1呀
以前在WINFORM中我是用treeview.SelectNode.level
取得其视图的深度来判断的,在WPF中如何做呀
请高手指点~~急,在线等~~
顶的也散分~~

解决方案 »

  1.   

    有呀,可写了半天弄不出来呀,以前在WINFORM中是这样的:switch (Menu_TV.SelectedNode.Level.ToString())
                        {
                            case "4"://如果选中的节点深度为3,则从其父节点的父节点开始进行查询,如:主卧-墙面-油漆-立邦
                                {
                                    wareSql = "Select Ware_Id,Ware_PicMinUrl From Me_Ware Where Ware_ColType='" + Menu_TV.SelectedNode.Parent.Parent.Parent.Text.ToString() + "'";
                                    wareSql += " and Ware_ColWName='" + Menu_TV.SelectedNode.Parent.Parent.Text.ToString() + "' and Ware_ColWType='" + Menu_TV.SelectedNode.Parent.Text.ToString() + "'";
                                    wareSql += " and Ware_ColWTName='" + Menu_TV.SelectedNode.Text.ToString() + "'";
     
                                    break;
                                }
                            case "3"://如果选中的节点深度为3,则从其父节点的父节点开始进行查询,如:主卧-墙面-油漆
                                {
                                    wareSql = "Select Ware_Id,Ware_PicMinUrl From Me_Ware Where Ware_ColType='" + Menu_TV.SelectedNode.Parent.Parent.Text.ToString() + "'";
                                    wareSql += " and Ware_ColWName='" + Menu_TV.SelectedNode.Parent.Text.ToString() + "' and Ware_ColWType='" + Menu_TV.SelectedNode.Text.ToString() + "'";
     
                                    break;
                                }
                            case "2"://如果选中的节点深度为2,则从其父节点开始进行查询,如:主卧-顶面
                                {
                                    wareSql = "Select Ware_Id,Ware_PicMinUrl From Me_Ware Where Ware_ColType='" + Menu_TV.SelectedNode.Parent.Text.ToString() + "'";
                                    wareSql += " and Ware_ColWName='" + Menu_TV.SelectedNode.Text.ToString() + "'";
                                                                    
                                    break;
                                }
                            case "1"://如果选中的节点深度为1,则从其本身开始进行查询,如:饰品装饰-地毯
                                {
                                    wareSql = "Select Ware_Id,Ware_PicMinUrl From Me_Ware Where Ware_ColType='" + Menu_TV.SelectedNode.Text.ToString() + "'";
     
                                    break;
                                }
                        }
      

  2.   

    没用过wpf的,不过和2005的应该差不多吧,给你参考下
     protected void TreeViewType_SelectedNodeChanged(object sender, EventArgs e)
        {
            TreeView tree = sender as TreeView;
            if (tree != null)
            {
                TreeNode node = tree.SelectedNode;
                if (node != null)
                {
                    if (node.Value == "-1")
                        model = 1;
                    else if (node.Parent != null && node.Parent.Value == "-1")
                        model = 2;
                    else if (node.Parent != null && node.Parent.Value == "-2")
                        model = 3;
                    else
                    {
                        TreeNode pNode = node;
                        string strValue = null;
                        do
                        {
                            strValue = pNode.Value;
                            pNode = pNode.Parent;
                        }
                        while (pNode.Value != "-1");                    int.TryParse(strValue, out year);
                        model = 4;
                    }
                }
                this.MyGridView1.OnBind();
            }
        }
      

  3.   

    冒似WPF中的TREEVIEW节点没有VALUE吧楼主问的与我这里:
    http://topic.csdn.net/u/20081023/15/9a1bf5c6-9e19-4642-ae56-930bdc05466c.html
    的大同小异
    解决了互相给个通知呀^_^