WPF中如何获取TreeView中被选中节点的内容?注:TreeView中的内容为动态加载

解决方案 »

  1.   

    treeView1.SelectedNode.Text 获取你选中节点的内容
      

  2.   


    WPF中treeview没有SelectedNode这个属性
      

  3.   

    TreeView.SelectedItem 转换成 Add 进去的类型
      

  4.   

    TreeView 数据怎么添加的?
      

  5.   

    先定义了一个类
        public class TreeViewIconsItem : TreeViewItem
        {
            ImageSource iconSource;
            TextBlock textBlock;
            Image icon;
            public TreeViewIconsItem()
            {
                StackPanel stack = new StackPanel();
                //  设置StackPanel中的内容水平排列
                stack.Orientation = Orientation.Horizontal;
                Header = stack;
                icon = new Image();
                icon.Source = iconSource;
                //  向StackPanel对象中添加一个图标对象
                stack.Children.Add(icon);
                //  创建用于添加文本信息的TextBlock对象
                textBlock = new TextBlock();
                //  向StackPanel对象中添加文本信息
                stack.Children.Add(textBlock);
            }
            //  用于设置或获得节点中的图标对象
            public ImageSource Icon
            {
               set
                {
                    iconSource = value;
                    icon.Source = iconSource;
                    icon.Width = 16;
                    icon.Height = 16;
                }
                get
                {
                    return iconSource;
                }
            }
            //  用于设置或获得节点中的文本信息
            public string HeaderText
            {
                set
                {
                    textBlock.Text = value;
                }
                get
                {
                    return textBlock.Text;
                }
            }
        } 加载数据时:
    TreeViewIconsItem tvii = new TreeViewIconsItem();
    tvii.HeaderText = s;
    TreeViewIconsItem tviiSub = new TreeViewIconsItem();
    tviiSub.HeaderText = friend[1];
    tvii.Items.Add(tviiSub);
    treeview1.Items.Add(tvii);
      

  6.   

    TreeViewIconsItem item = (TreeViewIconsItem)treeview1.SelectedItem;
    这样看看能不能取到
      

  7.   


    刚试过了,不行。如果treeview里面的内容是写死的就可以取到
      

  8.   

    取值代码就用TreeViewIconsItem item = (TreeViewIconsItem)treeview1.SelectedItem;这一行呀treeview加载数据时,里面所有的节点都是从数组获取的
    string[] s = new string[]{"学生","小李"}
    TreeViewIconsItem tvii = new TreeViewIconsItem();
    tvii.HeaderText = s[0]; 
    TreeViewIconsItem tviiSub = new TreeViewIconsItem();
    tviiSub.HeaderText = s[1];
    tvii.Items.Add(tviiSub);
    treeview1.Items.Add(tvii);
      

  9.   


    解决了,谢谢!
    private void selected(object o,RouteEventArgs e){
    TreeViewIconsItem test = e.OriginalSource as TreeViewIconsItem;
    string text = test.HeaderText
    }
      

  10.   

    对了,你知道如何固定GridView的列吗?就是让用户不能随便拉伸,知道的话回复到http://topic.csdn.net/u/20120614/16/66638350-968d-4188-bcf4-3e4b734d358a.html,我好给分,谢谢
      

  11.   

    2楼的  wpf中TreeView哪里有SelectNode,不要误导人好不好?