Как не допустить выбора в выпадающем списке элемента из его списка в wpf?

Этот комбинированный список должен отображать связанное значение как его текст, и его нельзя отключить. Я просто хочу запретить пользователю изменять отображаемое значение.

13.10.2009 11:29:27
5 ОТВЕТОВ

Ваш вопрос неясен.

У выпадающего списка есть свойство зависимости IsEditable, и если установлено значение false, выбранный элемент не может быть отредактирован. Это ложно по умолчанию.

Если вы говорите об элементах во всплывающем списке выпадающего списка, то он также должен быть «недоступным для редактирования», если вы не изменили шаблон данных вашего поля со списком, чтобы он содержал список текстовых полей, что приведет к тому, что список будет разрешать каждому элементу редактируемые.

-3
14.10.2009 14:01:12
Даже если для IsEditable задано значение false, вы можете изменить выбор. Я хочу, чтобы значение было только для чтения.
Peter 15.10.2009 07:56:55
установите Readonly в True
Mischa 27.04.2016 11:47:20
    comboBoxName.IsHitTestVisible = false;
    comboBoxName.Focusable = false;

Используйте эти два кода строки вместе.

Изменить примечание: отредактировано для решения проблемы, описанной skypecakes

4
23.04.2011 06:42:29
Это не так много. Вы все еще можете перейти к нему и изменить значение с помощью клавиш со стрелками, и раскрыть список с помощью F4.
stone 22.04.2011 18:53:51
comboBoxName.IsHitTestVisible = false; comboBoxName.Focusable = false;Используйте эти две строки кода вместе. Вторая строка не позволит вам перейти к ней.
Towhid 23.04.2011 05:38:37
@Peter Это должен быть принятый ответ. Это единственный, который делает то, что мы хотим, не отключая (что меняет внешний вид). Единственный другой способ сделать это - извлечь и изменить шаблон, чего лучше избегать, и установка этих свойств фактически не нужна.
Okuma.Scott 6.04.2020 15:43:30

В соответствии с MSDN вам нужно

IsReadOnly = true;
IsEditable = false;

См. Http://msdn.microsoft.com/en-us/library/system.windows.controls.combobox.isreadonly.aspx под примечаниями

Редактировать: на самом деле, я не уверен больше

Я предлагаю использовать стиль, чтобы установить для ReadOnly значение true в PART_EditableTextBox

1
23.04.2011 07:06:15

Попробуй в XAML

IsEnabled="False"

C #

YOUCOMBOBOX.IsEnabled=false;
1
3.12.2015 13:46:52

Если вы установите IsEnabled = false, это должно работать. В вашем XAML это будет выглядеть так

<ComboBox IsEnabled="False"></ComboBox>

1
26.06.2017 18:08:40
Я не хочу его (или Беттер не хотел, больше не делать wpf :)) отключен. Я просто хочу, чтобы это было только для чтения
Peter 26.06.2017 19:23:32