前端代码
<TreeView
Name="MyTreeView"
MouseDoubleClick="MyTreeView_MouseDoubleClick"
VirtualizingPanel.IsVirtualizing="True"
/>
后台代码
// 在加载TreeView时调用该方法
private void InitializeTreeView()
{
for (int i = 0; i < MyTreeView.Items.Count; i++)
{
TreeViewItem item = MyTreeView.Items[i] as TreeViewItem;
if (item != null && item.HasItems)
{
ExpandTreeViewItems(item, 2); // 设置默认展开的节点深度为2
//ExpandTreeViewItems(item); // 设置默认展开所以节点
}
}
}
/// <summary>
/// 展开指定深度
/// </summary>
/// <param name="item"></param>
/// <param name="depth"></param>
private void ExpandTreeViewItems(TreeViewItem item, int depth)
{
if (depth > 0)
{
item.IsExpanded = true;
for (int i = 0; i < item.Items.Count; i++)
{
TreeViewItem Titem = item.Items[i] as TreeViewItem;
if (Titem != null)
{
ExpandTreeViewItems(Titem, depth-1);
}
}
}
}
/// <summary>
/// 展开所有节点
/// </summary>
/// <param name="item"></param>
private void ExpandTreeViewItems(TreeViewItem item)
{
item.IsExpanded = true;
for (int i = 0; i < item.Items.Count; i++)
{
TreeViewItem Titem = item.Items[i] as TreeViewItem;
if (Titem != null)
{
ExpandTreeViewItems(Titem);
}
}
}