Есть listview. Он забайдин с ObservableCollection
Ответ
Задача решается легко, кроме Binding ничего не требуется.
Разметка:
ViewModel:
class MainVM : INotifyPropertyChanged
{
string _pattern;
public string Pattern
{
get => _pattern;
set
{
Set(ref _pattern, value);
Selected = Strings.FirstOrDefault(s => s.StartsWith(Pattern));
}
}
string _selected;
public string Selected
{
get => _selected;
set => Set(ref _selected, value);
}
public ObservableCollection
public MainVM()
{
Strings = new ObservableCollection
protected void Set
public event PropertyChangedEventHandler PropertyChanged;
}
Добавим скролл до выделенного Item.
Подпишемся на событие в разметке:
Обработчик события в MainWindow.xaml.cs
private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var listBox = sender as ListBox;
listBox.ScrollIntoView(listBox.SelectedItem);
}
Комментариев нет:
Отправить комментарий