代码之家  ›  专栏  ›  技术社区  ›  wonea Ilya Smagin

展开所有WPF树视图项

  •  3
  • wonea Ilya Smagin  · 技术社区  · 14 年前

    无法将“System.Data.DataRowView”类型的对象强制转换为“System.Windows.Controls.TreeViewItem”类型。

    foreach (TreeViewItem treeitem in thetreeView.Items)
    {
       treeitem.IsExpanded = true;
    }
    

    3 回复  |  直到 14 年前
        1
  •  14
  •   kmote Funkpotamus    7 年前

    只需添加此样式

    <TreeView.ItemContainerStyle>
        <Style TargetType="TreeViewItem"> 
            <Setter Property="IsExpanded" Value="True" /> 
        </Style> 
    </TreeView.ItemContainerStyle>
    

    http://bea.stollnitz.com/blog/?p=55

        2
  •  4
  •   itsho    11 年前

    我找到了一个“黑客”的解决办法。 here 基肖尔库马尔 )

    我添加了两个按钮-“全部折叠”和“全部展开”。

        private void btnCollapseAll_Click(object sender, RoutedEventArgs e)
        {
            foreach (var item in treeView.Items)
            {
                DependencyObject dObject = treeView.ItemContainerGenerator.ContainerFromItem(item);
                CollapseTreeviewItems(((TreeViewItem)dObject));
            }
        }
    
        private void btnExpandAll_Click(object sender, RoutedEventArgs e)
        {
            foreach (var item in treeView.Items)
            {
                DependencyObject dObject = treeView.ItemContainerGenerator.ContainerFromItem(item);
                ((TreeViewItem)dObject).ExpandSubtree();
            }
        }
    
        private void CollapseTreeviewItems(TreeViewItem Item)
        {
            Item.IsExpanded = false;
    
            foreach (var item in Item.Items)
            {
                DependencyObject dObject = treeView.ItemContainerGenerator.ContainerFromItem(item);
    
                if (dObject != null)
                {
                    ((TreeViewItem)dObject).IsExpanded = false;
    
                    if (((TreeViewItem)dObject).HasItems)
                    {
                        CollapseTreeviewItems(((TreeViewItem)dObject));
                    }
                }
            }
        }
    

    我的解决方案基于 this

        3
  •  0
  •   itsho    11 年前