private void ScrollToNextSearchedCell() { var regexPattern = TextSearchHelper.GetRegexPattern(SearchPhraseTextBox.Text); var regex = BuildSearchRegularExpression(regexPattern); var rowIndex = 0; foreach (var row in _resultRows) { var columnIndex = 0; foreach (var item in row) { var stringValue = (string)CellValueConverter.Instance.Convert(item, null, null, null); var matchCount = regex.Matches(stringValue).Count; if (matchCount > 0 && (rowIndex > _lastSearchedCell.Row || (rowIndex == _lastSearchedCell.Row && columnIndex > _lastSearchedCell.Column))) { _lastSearchedCell = new LastSearchedCell(rowIndex, columnIndex); ResultGrid.GetCell(rowIndex, columnIndex); return; } columnIndex++; } rowIndex++; } }
private void SearchPanelCloseClickHandler(object sender, ExecutedRoutedEventArgs args) { SearchPanel.Visibility = Visibility.Collapsed; SearchPhraseTextBox.Text = String.Empty; _lastSearchedCell = LastSearchedCell.Empty; }