private void SelectWords() { var vm = (WordsViewModel)DataContext; if (_monitor.Busy) { return; } using (_monitor.Enter()) { foreach (WordViewModel word in WordsListBox.SelectedItems.Cast <WordViewModel>().Except(vm.SelectedWords)) { ClearWordSelection(word); } WordsListBox.SelectedItems.Clear(); foreach (WordViewModel word in vm.SelectedWords) { WordsListBox.SelectedItems.Add(word); } } if (vm.SelectedWords.Count > 0) { WordsListBox.ScrollIntoView(vm.SelectedWords[0]); } }
/// <summary> /// Makes ListBox control 'WordsListBox' thread-safe. /// </summary> /// <param name="text"></param> private void WriteToLBox(string text) { if (WordsListBox.InvokeRequired) { WordsListBox.Invoke((MethodInvoker) delegate() { WordsListBox.Items.Add(text); WordsListBox.TopIndex = WordsListBox.Items.Count - 1; }); } }
private void SelectAll_OnExecuted(object sender, ExecutedRoutedEventArgs e) { WordsListBox.SelectAll(); }
private void MarkerClicked(object sender, MouseButtonEventArgs e) { var rect = (Rectangle)sender; WordsListBox.ScrollToCenterOfView(rect.DataContext); }