ComboBox.IsEditable Property

Definition

Gets or sets a value that enables or disables editing of the text in text box of the 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

Property Value

true if the ComboBox can be edited; otherwise false. The default is false.

Examples

The following examples create ComboBox controls that contain images as items instead of text. If the IsEditable property is set to true, the TextBox displays the value returned by the image's ToString method. To avoid a TextBox with unexpected text, use the TextSearch.Text and TextSearch.TextPath properties to assign text to be displayed.

<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>

Another solution is to use the DisplayMemberPath property. The drop-down control of the ComboBox will not display the images but will display the text you assigned.

The following example shows how to use 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>

Remarks

The IsEditable and IsReadOnly properties specify how the ComboBox behaves when the user does one of the following:

  • Enters a string to select an item in the ComboBox.

  • Enters a string that does not correspond to an item in the ComboBox.

  • Selects part of the string that is in the text box.

  • Copies or pastes a value into the text box.

The following table describes the actions the user can and cannot take, depending on the values of IsEditable and IsReadOnly.

IsReadOnly is true IsReadOnly is false
IsEditable is true - Cannot select an item in the ComboBox by entering a string.
- Cannot enter a string that does not correspond to an item in the ComboBox.
- Can select part of the string in the ComboBox text box.
- Can copy the string in the ComboBox text box, but cannot paste a string into the ComboBox text box.
- Can select an item in the ComboBox by entering a string.
- Can enter a string that does not correspond to an item in the ComboBox.
- Can select part of the string in the ComboBox text box.
- Can copy or paste the string in the ComboBox text box.
IsEditable is false - Can select an item in the ComboBox by entering a string.
- Cannot enter a string that does not correspond to an item in the ComboBox.
- Cannot select part of the string in the ComboBox.
- Cannot copy or paste the string in the ComboBox.
- Can select an item in the ComboBox by entering a string.
- Cannot enter a string that does not correspond to an item in the ComboBox.
- Cannot select part of the string in the ComboBox.
- Cannot copy or paste the string in the ComboBox.

When IsEditable is equal to false, the ComboBox uses a ContentPresenter to display the currently selected item; when IsEditable is equal to true, a TextBox is used for this purpose instead. Note that a TextBox only displays plain text, and that a ComboBoxItem may include non-plain text content, such as images.

Dependency Property Information

Identifier field IsEditableProperty
Metadata properties set to true None

Applies to