public static void ExpandAll(this TreeViewItem treeViewItem, bool isExpanded = true) { var stack = new Stack <TreeViewItem>(treeViewItem.Containers()); while (stack.Count > 0) { var item = stack.Pop(); item.IsExpanded = isExpanded; foreach (var child in item.Containers()) { stack.Push(child); } } }