加载一个treeview以后 我想设置一个默认项,
这是我的代码,
((TreeViewItem)CircuitTreeView.Items[0]).IsSelected = true;
由于我还对这个treeview添加了SelectedItemChanged事件,当我设置默认项的时候,自动触发了SelectedItemChanged事件但是为什么 在这个事件里找不到treeview的选中项?当我取消了这项操作,点击选中时 SelectedItemChanged事件里面是可以找到选中项的,不知道错在哪了,求高人指点
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;
});
}