public MainWindow() { InitializeComponent(); _viewModel = (MainVM)DataContext; var binder = new SelectedItemsBinder(wordsListBox, _viewModel.SelectedWords, _viewModel.FilterSentencesByWords); binder.Bind(); }
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; } }