Beispiel #1
0
 void RowExpanding(RowClass row) //раскрываем узел
 {
     foreach (var child in row.Children)
     {
         child.IsVisible = true;
     }
     OnPropertyChanged("Display");
 }
Beispiel #2
0
 void RowCollapsing(RowClass row) //скрываем узел
 {
     foreach (var child in row.Children)
     {
         if (row.IsExpanded)
         {
             RowCollapsing(child);
         }
         child.IsVisible = false;
     }
     OnPropertyChanged("Display");
 }
Beispiel #3
0
        IEnumerable<RowClass> IterateVisible(RowClass srce, bool showAll = false) //проход по коллекции от верхнего уровня к нижнему
        {
            if (!srce.IsVisible && showAll == false )
            {
                yield break;
            }

            yield return srce;
            foreach (var child in srce.Children)
            {
                foreach (var r in IterateVisible(child, showAll))
                {
                    yield return r;
                }
            }

        }