Exemplo n.º 1
0
        public SelectionHelperBehavior(FasterMultiSelectListBox listBox)
        {
            _listBox = listBox;

            _itemToNotifier = new Dictionary <object, BindingNotifyier>();
            _keyToItems     = new EditableLookup <object, object>();
            _itemToKey      = new Dictionary <object, object>();

            ListBoxSelectedItems_Initialized();
        }
Exemplo n.º 2
0
        private static SelectionHelperBehavior _getBehavior(FasterMultiSelectListBox obj)
        {
            var res = (SelectionHelperBehavior)obj.GetValue(_behaviorProperty);

            if (res == null)
            {
                res = new SelectionHelperBehavior(obj);
                _setBehavior(obj, res);

                var b1 = new Binding()
                {
                    Path   = new PropertyPath(ItemsControl.ItemsSourceProperty),
                    Mode   = BindingMode.OneWay,
                    Source = obj
                };

                obj.SetBinding(_itemsSourceProperty, b1);

                var b2 = new Binding()
                {
                    Path   = new PropertyPath(Selector.SelectedValuePathProperty),
                    Mode   = BindingMode.OneWay,
                    Source = obj
                };

                obj.SetBinding(_selectedValuePathProperty, b2);

                res.SetOnCleanup(() =>
                {
                    obj.ClearValue(_itemsSourceProperty);
                    obj.ClearValue(_selectedValuePathProperty);
                    obj.ClearValue(_behaviorProperty);
                });
            }
            return(res);
        }
Exemplo n.º 3
0
 private static void _setItemsSource(FasterMultiSelectListBox obj, IEnumerable value)
 {
     obj.SetValue(_itemsSourceProperty, value);
 }
Exemplo n.º 4
0
 private static IEnumerable _getItemsSource(FasterMultiSelectListBox obj)
 {
     return((IEnumerable)obj.GetValue(_itemsSourceProperty));
 }
Exemplo n.º 5
0
 public static void SetCommand(FasterMultiSelectListBox obj, ICommand value)
 {
     obj.SetValue(CommandProperty, value);
 }
Exemplo n.º 6
0
 public static ICommand GetCommand(FasterMultiSelectListBox obj)
 {
     return((ICommand)obj.GetValue(CommandProperty));
 }
Exemplo n.º 7
0
 public static void SetSelectedValues(FasterMultiSelectListBox obj, IEnumerable value)
 {
     obj.SetValue(SelectedValuesProperty, value);
 }
Exemplo n.º 8
0
 public static IEnumerable GetSelectedValues(FasterMultiSelectListBox obj)
 {
     return((IEnumerable)obj.GetValue(SelectedValuesProperty));
 }
Exemplo n.º 9
0
 private static void _setBehavior(FasterMultiSelectListBox obj, SelectionHelperBehavior value)
 {
     obj.SetValue(_behaviorProperty, value);
 }
Exemplo n.º 10
0
 private static void _setSelectedValuePath(FasterMultiSelectListBox obj, PropertyPath value)
 {
     obj.SetValue(_selectedValuePathProperty, value);
 }
Exemplo n.º 11
0
 private static PropertyPath _getSelectedValuePath(FasterMultiSelectListBox obj)
 {
     return((PropertyPath)obj.GetValue(_selectedValuePathProperty));
 }