LookUpEditBase.ApplyItemTemplateToSelectedItem Property

Gets or sets whether to apply the ItemTemplate to the selected item, displayed within the edit box. This is a dependency property.

Namespace: DevExpress.Xpf.Editors

Assembly: DevExpress.Xpf.Core.v20.1.dll

Declaration

public bool ApplyItemTemplateToSelectedItem { get; set; }
Public Property ApplyItemTemplateToSelectedItem As Boolean

Property Value

Type Description
Boolean

true to apply the item template to the selected item; otherwise, false.

Remarks

There are two properties that allow you to change the visual presentation of the selected item (displayed within the edit box) and items displayed within the dropdown list. These are the BaseEdit.EditTemplate and LookUpEditBase.ItemTemplate properties, respectively. In some instances (e.g., creating an image combobox), it is required to use one template to present the selected item and items displayed within the dropdown list. To do this, set the ApplyItemTemplateToSelectedItem property to true.

The item template is applied only if the combobox's ButtonEdit.IsTextEditable property is set to false.

NOTE

Using the ApplyItemTemplateToSelectedItem property overrides the editor's default template and disables the BaseEdit.NullText property (if specified). To specify the text displayed within the edit box when the editor's value is null, use the TextEditBase.EditNonEditableTemplate property:

<dxe:ComboBoxEdit.EditNonEditableTemplate>
                <ControlTemplate>
                    <Grid>
                        <Grid.Resources>
                            <dx:NullableToVisibilityConverter x:Key="c1"/>
                            <dx:NullableToVisibilityConverter x:Key="c" Invert="True"/>
                        </Grid.Resources>
                        <TextBlock Text="Select a Color" Visibility="{Binding EditValue, Converter={StaticResource c}}"/>
                        <StackPanel Orientation="Horizontal" Margin="3" Visibility="{Binding EditValue, Converter={StaticResource c1}}">
                            <Rectangle Width="16" Height="16" Margin="3" Fill="{Binding EditValue}" />
                            <TextBlock Text="{Binding EditValue.Color}" Margin="3" />
                        </StackPanel>
                    </Grid>
                </ControlTemplate>
            </dxe:ComboBoxEdit.EditNonEditableTemplate>

Examples

The following example shows how to create an image combobox via templates.

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="ComboBoxEdit_CreatingImageComboBox.Window1"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="Creating an Image ComboBox"
        Height="300" Width="300">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition Width="100" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition Height="22" />
            <RowDefinition />
        </Grid.RowDefinitions>
        <dxe:ComboBoxEdit ApplyItemTemplateToSelectedItem="True" IsTextEditable="False"
                          Text="(None)" Grid.Row="1" Grid.Column="1" Padding="5,2,5,2">
            <dxe:ComboBoxEdit.ItemTemplate>
                <DataTemplate>
                    <Border Background="Transparent">
                        <StackPanel Orientation="Horizontal">
                            <Rectangle Width="10" Height="10" Fill="{Binding}"
                                       RadiusX="2" RadiusY="2"
                                       Margin="6,0,6,0" />
                            <TextBlock Text="{Binding}" />
                        </StackPanel>
                    </Border>
                </DataTemplate>
            </dxe:ComboBoxEdit.ItemTemplate>
            <sys:String>Red</sys:String>
            <sys:String>Green</sys:String>
            <sys:String>Blue</sys:String>
        </dxe:ComboBoxEdit>
    </Grid>
</Window>
See Also