void OutlineSelected (NSCmisTree cmis, int selected) { InvokeOnMainThread (delegate { Node node = cmis.GetNode (Repo); if (node == null) { Console.WriteLine ("SelectedEvent find node Error"); } node.Selected = (selected != 0); DataSource.UpdateCmisTree (Repo); for (int i = 0; i < Outline.RowCount; ++i) { try { Outline.ReloadItem (Outline.ItemAtRow (i)); } catch (Exception e) { Console.WriteLine (e); } } }); }
void OutlineSelected(NSCmisTree cmis, int selected) { InvokeOnMainThread(delegate { RootFolder selectedRoot = null; foreach (RootFolder root in Repositories) { Node node = cmis.GetNode(root); if (node != null) { if (node.Parent == null && node.Selected == false) { selectedRoot = root; } node.Selected = selected != 0; DataSource.UpdateCmisTree(root); } } if (selectedRoot != null) { foreach (RootFolder root in Repositories) { if (root != selectedRoot) { root.Selected = false; DataSource.UpdateCmisTree(root); } } Outline.ReloadData(); } else { for (int i = 0; i < Outline.RowCount; ++i) { Outline.ReloadItem(Outline.ItemAtRow(i)); } } }); }