public void SelectWordInDataGrid(object sender, EventArgs a) { if (!_selectingWordEventSwitch) { return; } _selectingWordEventSwitch = false; WordsDataGrid.Focus(); WordsDataGrid.SelectedItem = _selectingWordIn; WordsDataGrid.CurrentColumn = WordsDataGrid.Columns[0]; WordsDataGrid.ScrollIntoView(WordsDataGrid.SelectedItem, WordsDataGrid.Columns[0]); }
private void OnNavigateToNextNotTranslatedWordMenuItemClick(object sender, RoutedEventArgs e) { var words = WordsDataGrid.DataContext.Of <IEnumerable>().OfType <WordInfo>().ToList(); var selectedWord = WordsDataGrid.SelectedItems.OfType <WordInfo>().FirstOrDefault(); var offset = selectedWord != null?words.IndexOf(selectedWord) + 1 : 0; var firstNotTranslatedWord = words.Skip(offset).FirstOrDefault(x => string.IsNullOrEmpty(x.TranslatedWord)); if (firstNotTranslatedWord == null) { MessageBox.Show("No more not translated words"); return; } WordsDataGrid.ScrollIntoView(firstNotTranslatedWord); WordsDataGrid.SelectedItem = firstNotTranslatedWord; }