У нас есть сценарий, в котором мы хотим отобразить список элементов и указать, какой элемент является «текущим» (с небольшим маркером стрелки или измененным цветом фона).
ItemsControl нам не нужен, потому что нам нужен контекст "SelectedItem". Однако мы хотим перемещать выделение программно и не разрешать пользователю изменять его.
Есть ли простой способ сделать ListBox неинтерактивным? Мы можем выдумать это, преднамеренно проглатывая события мыши и клавиатуры, но я упускаю какое-то фундаментальное свойство (например, установка «IsEnabled» в false, не затрагивая его визуальный стиль), которое дает нам то, что мы хотим?
Или ... есть другой элемент управления WPF, который является лучшим из обоих миров - ItemsControl со свойством SelectedItem?