首页 新闻 搜索 专区 学院

silverlight4中treeview设置默认选中项问题

0
悬赏园豆:20 [已解决问题] 解决于 2011-04-14 10:12

加载一个treeview以后 我想设置一个默认项,

这是我的代码, 

((TreeViewItem)CircuitTreeView.Items[0]).IsSelected = true;

 由于我还对这个treeview添加了SelectedItemChanged事件,当我设置默认项的时候,自动触发了SelectedItemChanged事件但是为什么 在这个事件里找不到treeview的选中项?当我取消了这项操作,点击选中时 SelectedItemChanged事件里面是可以找到选中项的,不知道错在哪了,求高人指点

问题补充: 换了个控件 是由于自带控件isselected属性会丢失 具体原因 我不是很清楚、、、
动手不动口的主页 动手不动口 | 初学一级 | 园豆:100
提问于:2011-01-27 11:11
< >
分享
最佳答案
0

SelectedItem 获取 TreeView 中的选定项。
SelectedValue 获取 SelectedValuePath 属性指定的 SelectedItem 属性的值。

注意:(1)在生成节点之前,绑定事件(2)在生成完所有节点后,才设置默认节点

代码如下:

public FrmContactType()
        {
            InitializeComponent();
            trvMenu.SelectedItemChanged += new RoutedPropertyChangedEventHandler<object>(trvMenu_SelectedItemChanged);
            BindData();
        }

        void trvMenu_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            TreeViewItem item = trvMenu.SelectedItem as TreeViewItem;
        }

        private void BindData()
        {
            ParamWrapper param = new ParamWrapper();
            param.EntityType = typeof(TXType).AssemblyQualifiedName;

            EntityPortal.DAL.FetchSelf(param, (a, b) =>
            {
                _lstData = ListEx.ToList<object, TXType>(b.Result.ListData).ToList();

                if (trvMenu.Items.Count > 0)
                {
                    trvMenu.Items.Clear();
                }
                BuildTree(null, string.Empty);
                TreeViewItem item = trvMenu.Items.FirstOrDefault() as TreeViewItem;
                if (item != null)
                {
                    item.IsSelected = true;
                }               

               _lstData = null;
            });
        }

收获园豆:20
一夜先生 | 菜鸟二级 |园豆:250 | 2011-01-27 13:11
我的意思:想知道为什么会出现我所描述的问题, 我前面基本思路也是你那样的,但是执行的时候,有时候选中项为空,有时候不为空、、、
动手不动口 | 园豆:100 (初学一级) | 2011-01-27 14:12
可以试试 这个设定默认选中后
在其他地方找这个选中项有可能会是空的、、、
动手不动口 | 园豆:100 (初学一级) | 2011-04-14 10:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册