private void CheckBox_ResourceTypes_All_Click(object sender, RoutedEventArgs e) { CheckBox CheckBox_AllResourceTypes = (CheckBox)sender; if (CheckBox_AllResourceTypes.IsChecked == true) { foreach (TreeViewItem tvi in TreeView_ResourceType.GetContainers()) { ResourceTypeTree current = tvi.Header as ResourceTypeTree; if (current.isSelected != true) { current.isSelected = true; } if (current.Children != null && current.Children.Count > 0) { selecteAllChildItem(current); } } } else { foreach (TreeViewItem tvi in TreeView_ResourceType.GetContainers()) { ResourceTypeTree current = tvi.Header as ResourceTypeTree; if (current.isSelected != false) { current.isSelected = false; } if (current.Children != null && current.Children.Count > 0) { unSelecteAllChildItem(current); } } } }
private void expander_ResourceType_Expanded(object sender, RoutedEventArgs e) { Dispatcher.BeginInvoke(() => { TreeView_ResourceType.ExpandToDepth(1); }); }
private void Checkbox_Unchecked(object sender, RoutedEventArgs e) { CheckBox button = sender as CheckBox; button.IsChecked = false; ResourceTypeTree resourceType = button.DataContext as ResourceTypeTree; if (resourceType != null) { if (resourceType.isSelected != false) { resourceType.isSelected = false; } //just unselect all the child treeviewItem of current selected treeviewItem, and the root treeViewItem "All" if (TreeView_ResourceType.GetSelectedContainer() != null) { CheckBox_ResourceTypes_All.IsChecked = false; foreach (ResourceTypeTree r in allResourceTypes) { if (r.ResourceTypeID.Equals(ConstantCollection.resourceType_PickID_All)) { r.isSelected = false; } } TreeViewItem tvi = TreeView_ResourceType.GetSelectedContainer(); ResourceTypeTree current = tvi.Header as ResourceTypeTree; if (current == resourceType) { if (resourceType.Children != null && resourceType.Children.Count > 0) { unSelecteAllChildItem(resourceType); } } } //if (resourceType.ParentResourceType != null) //{ // resourceType.ParentResourceType.isSelected = false; // unSelecteAllAncestorItem(resourceType.ParentResourceType); //} //if all child treeViemItem of Parent treeviewItem of current treeviewItem are unselect, the parent should be unselected if (resourceType.Parent != null) { bool allUnSelect = true; foreach (ResourceTypeTree type1 in resourceType.Parent.Children) { if (type1.isSelected != false) { allUnSelect = false; } } if (allUnSelect == true) { resourceType.Parent.isSelected = false; } } } ObservableCollection <ResourceTypeTree> a = TreeView_ResourceType.ItemsSource as ObservableCollection <ResourceTypeTree>; }
private void CheckBox_Checked(object sender, RoutedEventArgs e) { CheckBox button = sender as CheckBox; button.IsChecked = true; ResourceTypeTree resourceType = button.DataContext as ResourceTypeTree; if (resourceType != null) { if (resourceType.isSelected != true) { resourceType.isSelected = true; } if (TreeView_ResourceType.GetSelectedContainer() != null) { TreeViewItem tvi = TreeView_ResourceType.GetSelectedContainer(); ResourceTypeTree current = tvi.Header as ResourceTypeTree; if (current == resourceType) { if (resourceType.Children != null && resourceType.Children.Count > 0) { selecteAllChildItem(resourceType); } } } //if all child treeViemItem of Parent treeviewItem of current treeviewItem are select, the parent should be selected if (resourceType.Parent != null) { if (resourceType.Parent.ResourceTypeID != ConstantCollection.resourceType_PickID_All) { resourceType.Parent.isSelected = true; } bool allSelect = true; foreach (ResourceTypeTree type1 in resourceType.Parent.Children) { if (type1.isSelected != true) { allSelect = false; } } if (allSelect == true) { resourceType.Parent.isSelected = true; } } bool allSelect1 = true; foreach (ResourceTypeTree rt in allResourceTypes) { if (rt.isSelected == false) { allSelect1 = false; } } if (allSelect1) { CheckBox_ResourceTypes_All.IsChecked = true; } } ObservableCollection <ResourceTypeTree> a = TreeView_ResourceType.ItemsSource as ObservableCollection <ResourceTypeTree>; }