示例#1
0
 void FireStructureChangedUnder(RowVM row)
 {
     if (row == null)               // roots changed
     // Reestablish dependencies from model to ViewModel
     {
         _tree.Roots.DependentSentry.OnGet();
         StructureChanged(this, new TreePathEventArgs());
     }
     else
     {
         // Reestablish dependencies from model to ViewModel
         row.Children.DependentSentry.OnGet();
         TreePath path;
         if (row.Model.Parent == null)
         {
             path = new TreePath(row);
         }
         else
         {
             var list = new DList <RowVM>();
             for (; row != null; row = row.Parent)
             {
                 list.PushFirst(row);
             }
             path = new TreePath(list.ToArray());
         }
         StructureChanged(this, new TreePathEventArgs(path));
     }
 }
示例#2
0
 void AutoRefresh(RowVM row, bool structureChanged)
 {
     if (structureChanged)
     {
         _structureChanges.Add(row);
     }
     if (!_refreshing)
     {
         _treeView.BeginInvoke(new Action(DoRefresh));
         _refreshing = true;
     }
 }
示例#3
0
 public RowVM(CachedBox box, RowVM parent)
 {
     Persistent = box;
     Parent     = parent;
 }
 private void ExecuteMyCommand(RowVM row)
 {
     //do whatever
 }