private int CountSubKeys(RegistryKeyHolder2 keyHolder) { int totalSubKeyCount = keyHolder.subKeys.Count; foreach (RegistryKeyHolder2 childKeyHolder in keyHolder.subKeys) { totalSubKeyCount += CountSubKeys(childKeyHolder); } return(totalSubKeyCount); }
private void ItemCollapsedOrExpanded2(object sender, RoutedEventArgs e) { TreeViewItem tvi = (TreeViewItem)e.OriginalSource; RegistryKeyHolder2 keyHolder = (RegistryKeyHolder2)tvi.Header; RegistryData2 registryData = (RegistryData2)this.grid2.DataContext; if (e.RoutedEvent == TreeViewItem.ExpandedEvent) { registryData.PopulateSubKeys(keyHolder); } else if (e.RoutedEvent == TreeViewItem.CollapsedEvent) { registryData.ClearSubKeys(keyHolder); } this.InvokeUpdateVisualCount(this.treeView2); e.Handled = true; }
public void ClearSubKeys(RegistryKeyHolder2 keyHolder) { int itemsClearedCount = keyHolder.ClearSubKeys(); this.DataItemsCount -= itemsClearedCount; }
public void PopulateSubKeys(RegistryKeyHolder2 keyHolder) { int itemsAddedCount = keyHolder.PopulateSubKeys(); this.DataItemsCount += itemsAddedCount; }