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)); } }
void AutoRefresh(RowVM row, bool structureChanged) { if (structureChanged) { _structureChanges.Add(row); } if (!_refreshing) { _treeView.BeginInvoke(new Action(DoRefresh)); _refreshing = true; } }
public RowVM(CachedBox box, RowVM parent) { Persistent = box; Parent = parent; }
private void ExecuteMyCommand(RowVM row) { //do whatever }