public SelectionHelperBehavior(FasterMultiSelectListBox listBox) { _listBox = listBox; _itemToNotifier = new Dictionary <object, BindingNotifyier>(); _keyToItems = new EditableLookup <object, object>(); _itemToKey = new Dictionary <object, object>(); ListBoxSelectedItems_Initialized(); }
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); }
private static void _setItemsSource(FasterMultiSelectListBox obj, IEnumerable value) { obj.SetValue(_itemsSourceProperty, value); }
private static IEnumerable _getItemsSource(FasterMultiSelectListBox obj) { return((IEnumerable)obj.GetValue(_itemsSourceProperty)); }
public static void SetCommand(FasterMultiSelectListBox obj, ICommand value) { obj.SetValue(CommandProperty, value); }
public static ICommand GetCommand(FasterMultiSelectListBox obj) { return((ICommand)obj.GetValue(CommandProperty)); }
public static void SetSelectedValues(FasterMultiSelectListBox obj, IEnumerable value) { obj.SetValue(SelectedValuesProperty, value); }
public static IEnumerable GetSelectedValues(FasterMultiSelectListBox obj) { return((IEnumerable)obj.GetValue(SelectedValuesProperty)); }
private static void _setBehavior(FasterMultiSelectListBox obj, SelectionHelperBehavior value) { obj.SetValue(_behaviorProperty, value); }
private static void _setSelectedValuePath(FasterMultiSelectListBox obj, PropertyPath value) { obj.SetValue(_selectedValuePathProperty, value); }
private static PropertyPath _getSelectedValuePath(FasterMultiSelectListBox obj) { return((PropertyPath)obj.GetValue(_selectedValuePathProperty)); }