ComboBox.IsEditable Свойство

Определение

Возвращает или задает значение, разрешающее либо запрещающее редактировать текст в текстовом поле элемента управления ComboBox.

public:
 property bool IsEditable { bool get(); void set(bool value); };
public bool IsEditable { get; set; }
member this.IsEditable : bool with get, set
Public Property IsEditable As Boolean

Значение свойства

true, если ComboBox можно редактировать; в противном случае — false. Значение по умолчанию — false.

Примеры

В следующих примерах создаются ComboBox элементы управления, содержащие изображения в виде элементов, а не текста. IsEditable Если свойство имеет значение true, TextBox отображает значение, возвращаемое методом изображенияToString. Чтобы избежать с непредвиденным текстом TextBoxTextSearch.Text , используйте свойства и TextSearch.TextPath для назначения отображаемого текста.

<ComboBox IsEditable="true" TextSearch.TextPath="Name">
  <Image Name="Cat" Source="data\cat.png"/>
  <Image Name="Dog" Source="data\dog.png"/>
  <Image Name="Fish" Source="data\fish.png"/>
</ComboBox>
<ComboBox IsEditable="true">
  <Image TextSearch.Text="Cat" Source="data\cat.png"/>
  <Image TextSearch.Text="Dog" Source="data\dog.png"/>
  <Image TextSearch.Text="Fish" Source="data\fish.png"/>
</ComboBox>

Другим решением является использование DisplayMemberPath свойства . В раскрывающемся списке ComboBox не будут отображаться изображения, но будет отображаться назначенный вами текст.

В следующем примере показано, как использовать DisplayMemberPath.


<ComboBox IsEditable="true" DisplayMemberPath="Name">
  <Image Name="CAT" Source="data\cat.png"/>
  <Image Name="DOG" Source="data\dog.png"/>
  <Image Name="FISH" Source="data\fish.png"/>
</ComboBox>

Комментарии

Свойства IsEditable и IsReadOnly определяют поведение ComboBox , когда пользователь выполняет одно из следующих действий:

  • Вводит строку для выбора элемента в .ComboBox

  • Вводит строку, которая не соответствует элементу ComboBoxв .

  • Выделяет часть строки, которая находится в текстовом поле.

  • Копирует или вставляет значение в текстовое поле.

В следующей таблице описаны действия, которые пользователь может и не может выполнять в зависимости от значений IsEditable и IsReadOnly.

IsReadOnly равно true IsReadOnly равно false
IsEditable равно true — не удается выбрать элемент в , ComboBox введя строку.
— не удается ввести строку, которая не соответствует элементу ComboBoxв .
— Может выделять часть строки в текстовом ComboBox поле.
— может скопировать строку в текстовом ComboBox поле, но не может вставить строку в текстовое ComboBox поле.
— Можно выбрать элемент в , ComboBox введя строку.
— может ввести строку, которая не соответствует элементу ComboBoxв .
— Может выделять часть строки в текстовом ComboBox поле.
— может копировать или вставлять строку в текстовое ComboBox поле.
IsEditable имеет значение false. — Можно выбрать элемент в , ComboBox введя строку.
— не удается ввести строку, которая не соответствует элементу ComboBoxв .
— Не удается выбрать часть строки в ComboBox.
— Не удается скопировать или вставить строку в .ComboBox
— Можно выбрать элемент в , ComboBox введя строку.
— не удается ввести строку, которая не соответствует элементу ComboBoxв .
— Не удается выбрать часть строки в ComboBox.
— Не удается скопировать или вставить строку в .ComboBox

Если IsEditable равно false, ComboBox для отображения выбранного в данный момент элемента используется ContentPresenter , а если IsEditable равно true, TextBox для этой цели используется . Обратите внимание, что отображает только обычный TextBox текст, а ComboBoxItem может содержать не открытое текстовое содержимое, например изображения.

Сведения о свойстве зависимостей

Поле идентификатора IsEditableProperty
Для свойств метаданных задано значение true Нет

Применяется к