获取的TreeViewItem所选项目的一个TreeView [英] Getting TreeViewItem for the selected item in a TreeView

查看:329
本文介绍了获取的TreeViewItem所选项目的一个TreeView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个绑定到是有父子关系的数据集一个TreeView。我怎么会从树视图入围树型视图?请帮帮我。我的代码如下



XAML: -

 < TreeView控件NAME =tvPersonal背景=透明的ItemsSource ={结合RootNodes}SelectedItemChanged =tvPersonal_SelectedItemChanged> 
< TreeView.ItemTemplate>
< HierarchicalDataTemplate的ItemsSource ={结合rsParentChild}>
< TextBlock的文本={绑定名称}/>
< / HierarchicalDataTemplate>
< /TreeView.ItemTemplate>





 公共主窗口()

{
的InitializeComponent();
的DataSet DS =新BL.BLMenu()GetAllMenues(新BOModule {名称= Modules.Personnel});
ds.Tables [0] = .TableName菜单;
的DataRelation关系=新的DataRelation(rsParentChild,
ds.Tables [菜单。列[MENUID],
ds.Tables [菜单。列[的ParentId]);
relation.Nested = TRUE;
ds.Relations.Add(关系);
BOMenu MNU =新BOMenu();
BOMenu.RootNodes = ds.Tables [菜单]默认视图。
BOMenu.RootNodes.RowFilter =的ParentId IS NULL;

this.DataContext =这一点;
stbiDate.Content = DateTime.Now;

}
公共数据视图RootNodes
{
{返回BOMenu.RootNodes; }
}



BOMenu类别: -

 公共类BOMenu 
{
公共字符串MENUID
{
搞定;
组;
}

公共字符串名称
{
获得;
组;
}

公共字符串的ParentId
{
获得;
组;
}

公众诠释优先
{
搞定;
组;
}

公共静态数据视图RootNodes
{
搞定;
组;
}

}


解决方案

尝试

 树型视图TVI = myTree.ItemContainerGenerator.ContainerFromItem(的SelectedItem)为树型视图; 

或通过以下links.Hope这有助于



的SelectedItem在WPF树视图



<一个HREF =http://stackoverflow.com/q/1238304/217880> C#/ WPF:从树视图获取的SelectedItem



http://social.msdn.microsoft.com/forums/en -US / WPF /线程/ 36aca7f7-0b47-488b-8e16-840b86addfa3 /


I have a TreeView that is bound to a dataset which is having parent child relation. How i will get seleted TreeViewItem from the TreeView? Please help me. My code is below.

xaml:-

<TreeView Name="tvPersonal"  Background="Transparent"  ItemsSource="{Binding RootNodes}" SelectedItemChanged="tvPersonal_SelectedItemChanged">    
 <TreeView.ItemTemplate>
   <HierarchicalDataTemplate ItemsSource="{Binding rsParentChild}">
     <TextBlock Text="{Binding Name}" />
   </HierarchicalDataTemplate>
 </TreeView.ItemTemplate>

 public MainWindow()   

        {    
            InitializeComponent();    
            DataSet ds = new BL.BLMenu().GetAllMenues(new BOModule { Name = Modules.Personnel });
            ds.Tables[0].TableName = "Menu";
            DataRelation relation = new DataRelation("rsParentChild",
                    ds.Tables["Menu"].Columns["MenuId"],
                    ds.Tables["Menu"].Columns["ParentId"]);
            relation.Nested = true;    
            ds.Relations.Add(relation);
            BOMenu mnu = new BOMenu();    
            BOMenu.RootNodes = ds.Tables["Menu"].DefaultView;
            BOMenu.RootNodes.RowFilter = "ParentId IS NULL";    

            this.DataContext = this;
            stbiDate.Content = DateTime.Now;

        }
        public DataView RootNodes    
        {
            get { return BOMenu.RootNodes; }
        }

BOMenu Class :-

 public class BOMenu
    {
        public string MenuId
        {
            get;
            set;
        }

        public string Name
        {
            get;
            set;
        }

        public string ParentId
        {
            get;
            set;
        }

        public int Priority
        {
            get;
            set;
        }

        public static DataView RootNodes
        {
            get;
            set;
        }

    }

解决方案

Try

TreeViewItem tvi = myTree.ItemContainerGenerator.ContainerFromItem(SelectedItem) as TreeViewItem;

or go through the below links.Hope this helps

SelectedItem in a WPF Treeview

C#/WPF: Get SelectedItem from TreeView?

http://social.msdn.microsoft.com/forums/en-US/wpf/thread/36aca7f7-0b47-488b-8e16-840b86addfa3/

这篇关于获取的TreeViewItem所选项目的一个TreeView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆