У нас есть сценарий, в котором мы хотим отобразить список элементов и указать, что является «текущим» элементом (с небольшим указателем стрелки или измененным цветом фона).Может ли ListBox WPF быть «только для чтения»?
ItemsControl не годится для нас, потому что нам нужен контекст «SelectedItem». Тем не менее, мы хотим переместить программу выбора и не позволять пользователю ее изменять.
Есть ли простой способ сделать ListBox неинтерактивным? Мы можем выманить его за счет преднамеренного проглатывания событий мыши и клавиатуры, но не хватает ли какого-либо фундаментального свойства (например, установка «IsEnabled» на false, не затрагивая его визуальный стиль), который дает нам то, что мы хотим?
Или ... есть еще один элемент управления WPF, который является лучшим из обоих миров - элемент ItemsControl с свойством SelectedItem?
Ваш контрольный образец выполняет работу DataTemplate. Все, что вам нужно в дополнение к Setter for IsEnabled, - это <Свойство триггера = «IsEnabled» Значение = «False»><Свойство Setter = «Foreground» Value = «{StaticResource fgbrush}» /> – 2008-10-02 20:05:25
Хорошая точка Joel. Соответственно изменит мой пример. – 2008-10-04 16:11:23