private static void checkAllChildren(ExportedObjectViewEntity parent) { parent.Children.ForEach(e => { e.IsChecked = parent.IsChecked; if (e.Children.Any()) { checkAllChildren(e); } }); }
private static void checkParents(ExportedObjectViewEntity parent) { while (true) { parent.IsChecked = parent.Children.All(e => e.IsChecked); if (parent.Parent != null) { parent = parent.Parent; continue; } break; } }
public void onExportedObjectViewEntityChanged(object sender, PropertyChangedEventArgs args) { if (isSelf) { return; } ExportedObjectViewEntity entity = sender as ExportedObjectViewEntity; if (entity == null) { return; } switch (args.PropertyName) { case "IsChecked": { isSelf = true; checkAllChildren(entity); checkParents(entity.Parent); isSelf = false; break; } case "IsSelected": { if (entity.IsSelected && Path.HasExtension(entity.Filename)) { messenger.Send(new ExportedObjectSelectedMessage { Filename = entity.Filename }); } break; } default: { break; } } }
private static void checkParents(ExportedObjectViewEntity parent) { while(true) { parent.IsChecked = parent.Children.All(e => e.IsChecked); if (parent.Parent != null) { parent = parent.Parent; continue; } break; } }
private static void checkAllChildren(ExportedObjectViewEntity parent) { parent.Children.ForEach(e => { e.IsChecked = parent.IsChecked; if (e.Children.Any()) checkAllChildren(e); }); }