diff options
Diffstat (limited to 'Software/Visual_Studio/Tango.SharedUI/Controls/AllSelectedCheckboxList.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.SharedUI/Controls/AllSelectedCheckboxList.cs | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/Software/Visual_Studio/Tango.SharedUI/Controls/AllSelectedCheckboxList.cs b/Software/Visual_Studio/Tango.SharedUI/Controls/AllSelectedCheckboxList.cs deleted file mode 100644 index 6e3cb862f..000000000 --- a/Software/Visual_Studio/Tango.SharedUI/Controls/AllSelectedCheckboxList.cs +++ /dev/null @@ -1,144 +0,0 @@ -using System; -using System.Windows; -using System.Windows.Controls; -using Tango.Core.Commands; -//using System.Collections; -using System.Linq; -using System.Collections; - -namespace Tango.SharedUI.Controls -{ - public class AllSelectedCheckboxList : ListBox - { - #region Properties - - private ItemsControl _itemsControl; - - public ItemsControl ItemsControl - { - get { return _itemsControl; } - set { _itemsControl = value; } - } - - public bool? AllSelected - { - get { return (bool?)GetValue(AllSelectedProperty); } - set - { - SetValue(AllSelectedProperty, value); - } - } - - public static readonly DependencyProperty AllSelectedProperty = - DependencyProperty.Register("AllSelected", typeof(bool?), typeof(AllSelectedCheckboxList), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, new PropertyChangedCallback(OnAllSelectedChanged))); - - - private static void OnAllSelectedChanged(DependencyObject o, DependencyPropertyChangedEventArgs e) - { - AllSelectedCheckboxList l = o as AllSelectedCheckboxList; - var nv = e.NewValue; - l.AllSelectedChanged((bool?)nv); - } - - public static DependencyProperty ClickCheckBoxCommandProperty = DependencyProperty.Register("ClickCheckBoxCommand", typeof(RelayCommand<object>), typeof(AllSelectedCheckboxList)); - public RelayCommand<object> ClickCheckBoxCommand - { - get { return (RelayCommand<object>)GetValue(ClickCheckBoxCommandProperty); } - private set { SetValue(ClickCheckBoxCommandProperty, value); } - } - - #endregion - - #region "Constructors" - - static AllSelectedCheckboxList() - { - DefaultStyleKeyProperty.OverrideMetadata(typeof(AllSelectedCheckboxList), new FrameworkPropertyMetadata(typeof(AllSelectedCheckboxList))); - - } - public AllSelectedCheckboxList() : base() - { - ClickCheckBoxCommand = new RelayCommand<object>(ClickCheckBox); - } - - /// <summary> - /// Clicks the CheckBox.Update Selection ListBoxitem. - /// </summary> - /// <param name="obj">The object.</param> - private void ClickCheckBox(object obj) - { - if (obj is ListBoxItem) - { - ListBoxItem lbItem = obj as ListBoxItem; - CheckBox checkBox = lbItem.FindVisualChildren<CheckBox>().FirstOrDefault(); - if (checkBox != null) - { - bool? check = checkBox.IsChecked; - if (check != null) - { - lbItem.IsSelected = (bool)check; - } - } - } - - if (SelectedItems.Count == 0) - { - AllSelected = false; - } - else if (Items.Count > 0 && SelectedItems.Count == Items.Count) - { - AllSelected = true; - } - else - { - AllSelected = null; - } - } - - #endregion - - #region Override - - /// <summary> - /// When overridden in a derived class, is invoked whenever application code or internal processes call <see cref="M:System.Windows.FrameworkElement.ApplyTemplate" />. - /// </summary> - public override void OnApplyTemplate() - { - base.OnApplyTemplate(); - AllSelectedChanged(AllSelected); - - - - } - - protected override void OnSelectionChanged(SelectionChangedEventArgs e) - { - base.OnSelectionChanged(e); - foreach(var addItem in e.AddedItems.OfType<Components.SelectedObject>()) - { - addItem.IsSelected = true; - } - foreach (var removeItem in e.RemovedItems.OfType<Components.SelectedObject>()) - { - removeItem.IsSelected = false; - } - } - - #endregion - - private void AllSelectedChanged(bool? value) - { - if (value == null) - return; - SelectionMode = SelectionMode.Multiple; - if (value == true) - { - SelectAll(); - } - else - { - UnselectAll(); - } - } - } -} |
