private void UpdateCheckBoxes() { if (!_isLoaded || _cleaningExtraItems || TargetCollection == null) { return; } try { _cleaningExtraItems = true; foreach (object obj in this.sourceListBox.Items) { ListBoxItem container = this.sourceListBox.ItemContainerGenerator.ContainerFromItem(obj) as ListBoxItem; if (container != null) { IList <DependencyObject> list = new List <DependencyObject>(); VTreeHelper.GetChildrenOfType(container, typeof(CheckBox), ref list); if (list.Count > 0) { ((CheckBox)list[0]).IsChecked = TargetCollectionEdited.Contains(obj); } } } } finally { _cleaningExtraItems = false; } }
private void okButton_Click(object sender, RoutedEventArgs e) { for (int i = SourceCollection.Count - 1; i >= 0; i--) { object o = SourceCollection[i]; if (!SourceCollectionEdited.Contains(o)) { SourceCollection.RemoveAt(i); } } foreach (object o in SourceCollectionEdited) { if (!SourceCollection.Contains(o)) { SourceCollection.Add(o); } } for (int i = TargetCollection.Count - 1; i >= 0; i--) { object o = TargetCollection[i]; if (!TargetCollectionEdited.Contains(o)) { TargetCollection.RemoveAt(i); } } foreach (object o in TargetCollectionEdited) { if (!TargetCollection.Contains(o)) { TargetCollection.Add(o); } } cancelButton_Click(sender, e); }
private void deleteButton_Click(object sender, RoutedEventArgs e) { object o = sourceListBox.SelectedItem; if (o != null) { SourceCollectionEdited.Remove(o); TargetCollectionEdited.Remove(o); } UpdateCheckBoxes(); UpdateSelectedValues(); }
private void AddItemToTargetCollection(object item) { if (item != null) { if (!AllowMultipleSelection) { TargetCollectionEdited.Clear(); } if (!TargetCollectionEdited.Contains(item)) { TargetCollectionEdited.Add(item); } } }
private void resetButton_Click(object sender, RoutedEventArgs e) { CategoryCollection coll = SourceCollectionEdited as CategoryCollection; if (coll != null) { coll.LoadDefaults(); for (int i = TargetCollectionEdited.Count - 1; i >= 0; i--) { Category category = TargetCollectionEdited[i] as Category; if (!coll.Contains(category)) { TargetCollectionEdited.RemoveAt(i); } } } UpdateCheckBoxes(); UpdateSelectedValues(); }
private void AddOrRemoveItem(bool add, object item) { if (!_isLoaded || _cleaningExtraItems || TargetCollection == null) { return; } if (item == null) { return; } if (add) { AddItemToTargetCollection(item); } else { TargetCollectionEdited.Remove(item); } UpdateCheckBoxes(); UpdateSelectedValues(); }
private void UpdateSelectedValues() { selectedValues.Text = TargetCollectionEdited.ToString(); }