private void FindTagTextBox_TextChanged(object sender, TextChangedEventArgs e) { int LastSelectedIndex = TagsList.SelectedIndex; string Mask = FindTagTextBox.Text; int Index = 0; if (Mask.Length == 0) { TagsList.SelectedIndex = LastSelectedIndex; TagsList.ScrollIntoView(TagsList.SelectedItem); return; } // Искать метки в списке по мере набора имени foreach (var CurrentTag in LabelsCollection) { if (CurrentTag.Value.StartsWith(Mask)) { TagsList.SelectedIndex = Index; TagsList.ScrollIntoView(TagsList.SelectedItem); return; } Index++; } TagsList.SelectedIndex = LastSelectedIndex; TagsList.ScrollIntoView(TagsList.SelectedItem); }