TextEditBase.EditNonEditableTemplate Property
Gets or sets a template that defines the in-place button editor’s presentation when the editor is active, but its text field is not editable. This is a dependency property.
Namespace: DevExpress.Xpf.Editors
Assembly: DevExpress.Xpf.Core.v18.2.dll
Declaration
Property Value
Type | Description |
---|---|
ControlTemplate | A ControlTemplate object representing the editor’s template. |
Remarks
The EditNonEditableTemplate property is in effect for the ButtonEdit editor and its derived editors (such as the ComboBoxEdit).
The template, specified via the EditNonEditableTemplate property, is applied to the editor’s text field when the editor is in-place within a container control (such as GridControl) and its ButtonEdit.IsTextEditable property is set to false. In this instance, the editor’s text field cannot be edited, and an end-user can change the editor’s value only by choosing it from the drop-down list.
Example
The following example shows how to customize the in-place combo box editor’s appearance when its text field is not editable. In this example, in-place combo boxes are used to edit the ‘Access Card Color’ column field values. The appearance of the editors’ items on the drop-down list is specified via the ItemTemplate property. As for the edit box, you can either apply the same template by setting the ApplyItemTemplateToSelectedItem property to true or specify another template using the EditNonEditableTemplate property (in this example, we used the second approach).
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-customize-the-appearance-of-the-in-place-combo-box-editor-e1978.
<Window x:Class="TextEdit_EditNonEditableTemplate.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="Access Cards"
Width="300"
Height="200">
<dxg:GridControl Name="gridControl1">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Name" />
<dxg:GridColumn FieldName="CardColor" Header="Access Card Color">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxEditSettings IsTextEditable="False">
<dxe:ComboBoxEditSettings.ItemTemplate>
<DataTemplate>
<Border Background="Transparent">
<StackPanel Orientation="Horizontal">
<Rectangle Width="10"
Height="10"
Margin="6,0,6,0"
Fill="{Binding TargetNullValue=Transparent}"
RadiusX="2"
RadiusY="2" />
<TextBlock Text="{Binding}" />
</StackPanel>
</Border>
</DataTemplate>
</dxe:ComboBoxEditSettings.ItemTemplate>
<dxe:ComboBoxEditSettings.EditNonEditableTemplate>
<ControlTemplate>
<Rectangle Margin="2"
Fill="{Binding EditValue, RelativeSource={RelativeSource TemplatedParent}}"
RadiusX="2"
RadiusY="2" />
</ControlTemplate>
</dxe:ComboBoxEditSettings.EditNonEditableTemplate>
<dxe:ComboBoxEditSettings.Items>
<sys:String>Red</sys:String>
<sys:String>Green</sys:String>
<sys:String>Blue</sys:String>
</dxe:ComboBoxEditSettings.Items>
</dxe:ComboBoxEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="True" />
</dxg:GridControl.View>
</dxg:GridControl>
</Window>
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the EditNonEditableTemplate property.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.