Esempio n. 1
0
        private static void OnSelectedItemsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var multiSelector = d as MultiSelector;

            if (multiSelector == null)
            {
                return;
            }

            var binder = (SelectedItemsBinder)multiSelector.GetValue(SelectedItemsBinderProperty);

            var selectedItems = e.NewValue as IList;

            if (selectedItems != null)
            {
                if (binder == null)
                {
                    binder = new SelectedItemsBinder(multiSelector);
                }

                binder.SelectedItems = selectedItems;
            }
            else if (binder != null)
            {
                binder.Dispose();
            }
        }
Esempio n. 2
0
        public MainWindow()
        {
            InitializeComponent();
            _viewModel = (MainVM)DataContext;

            var binder = new SelectedItemsBinder(wordsListBox, _viewModel.SelectedWords, _viewModel.FilterSentencesByWords);

            binder.Bind();
        }
Esempio n. 3
0
        private static void SelectedItemsChanged(DependencyObject target, DependencyPropertyChangedEventArgs args)
        {
            if (target is ListBox listBox)
            {
                if (_elementToBinder.TryGetValue(listBox, out var oldBinder))
                {
                    oldBinder.Unbind();
                }

                var newBinder = new SelectedItemsBinder(listBox, args.NewValue as IList);
                newBinder.Bind();
                _elementToBinder[listBox] = newBinder;
            }
        }
 private static void SetSelectedValueBinder(DependencyObject obj, SelectedItemsBinder items)
 {
     obj.SetValue(SelectedValueBinderProperty, items);
 }