Exemplo n.º 1
0
 private void RecoverParent(base_datadic_tree_ex node)
 {
     if (node.parent_ex == null || node.parent_ex.visibility_ex == System.Windows.Visibility.Visible)
     {
         return;
     }
     node.parent_ex.visibility_ex = System.Windows.Visibility.Visible;
     node.parent_ex.expanded_ex   = true;
     RecoverParent(node.parent_ex);
 }
Exemplo n.º 2
0
 public DictionaryViewModel()
 {
     Dict = new base_datadic_tree_ex()
     {
         children_ex = new System.Collections.ObjectModel.ObservableCollection <base_datadic_tree_ex>()
     };
     if (!((AppViewModel)System.Windows.Application.Current.Resources["AppDataSource"]).IsInDesignMode)
     {
         GetRoot();
     }
 }
Exemplo n.º 3
0
 public void SetParentToChildren(base_datadic_tree_ex node)
 {
     if (node.children == null)
     {
         return;
     }
     foreach (base_datadic_tree_ex item in node.children)
     {
         item.parent_ex = node;
         SetParentToChildren(item);
     }
 }
Exemplo n.º 4
0
 private void VisibleAll(base_datadic_tree_ex node)
 {
     if (node.children_ex == null)
     {
         return;
     }
     foreach (var item in node.children_ex)
     {
         item.visibility_ex = System.Windows.Visibility.Visible;
         item.background_ex = null;
         VisibleAll(item);
     }
 }
Exemplo n.º 5
0
 private void SearchChildren(string searchText, base_datadic_tree_ex node)
 {
     if (node.leaf.Value)
     {
         return;
     }
     if (node.children_ex == null)
     {
         _searchWait++;
         node.ChildLoaded = () =>
         {
             SearchChildren(searchText, node);
             node.ChildLoaded = null;
             lock (this)
             {
                 SearchWait--;
             }
         };
     }
     else
     {
         foreach (var item in node.children_ex)
         {
             if (item.item_name.ToLower().Contains(searchText))
             {
                 if (item.visibility_ex == System.Windows.Visibility.Collapsed)
                 {
                     item.visibility_ex = System.Windows.Visibility.Visible;
                     VisibleAll(item);
                 }
                 RecoverParent(item);
             }
             else
             {
                 item.visibility_ex = System.Windows.Visibility.Collapsed;
                 SearchChildren(searchText, item);
             }
         }
     }
 }
Exemplo n.º 6
0
 private void ColorChildren(string searchText, base_datadic_tree_ex node)
 {
     if (node.leaf.Value)
     {
         return;
     }
     if (node.children_ex == null)
     {
         node.ChildLoaded = () =>
         {
             ColorChildren(searchText, node);
             node.ChildLoaded = null;
         };
     }
     else
     {
         foreach (var item in node.children_ex)
         {
             if (item.visibility_ex == System.Windows.Visibility.Collapsed)
             {
                 continue;
             }
             if (item.item_name.ToLower().Contains(searchText))
             {
                 if (item.background_ex == null)
                 {
                     item.background_ex = "Yellow";
                 }
                 node.expanded_ex = true;
             }
             else
             {
                 item.background_ex = null;
             }
             ColorChildren(searchText, item);
         }
     }
 }