Skip to main content
A newer version of this page is available. .

TypedDataTemplateSelector Class

Allows you to define a simple template selection logic in XAML. The class is a declarative way to implement the DataTemplateSelector.

Namespace: DevExpress.WinUI.Core

Assembly: DevExpress.WinUI.Core.v22.1.dll

NuGet Package: DevExpress.WinUI

Declaration

[ContentProperty(Name = "Resources")]
public class TypedDataTemplateSelector :
    DataTemplateSelector

Remarks

Run Demo: TypedDataTemplateSelector Module in the WinUI MVVM Demo

The code sample below uses the TypedDataTemplateSelector to select different data templates for different ListBox items:

<UserControl ...    
    xmlns:dxc="using:DevExpress.WinUI.Core">
    <UserControl.Resources>
        <dxc:TypedDataTemplateSelector x:Key="selector">
            <DataTemplate x:Key="ViewModel1" x:DataType="local:ViewModel1">
                <TextBlock Text="{x:Bind Text}" FontWeight="Bold" />
            </DataTemplate>

            <DataTemplate x:Key="MvvmDemo.TypedDataTemplateSelectorDemo.ViewModel2" x:DataType="local:ViewModel2">
                <TextBlock Text="{x:Bind Text}" FontWeight="Bold" />
            </DataTemplate>

            <StaticResource x:Key="ViewModel3" ResourceKey="ViewModel3_Template" />
        </dxc:TypedDataTemplateSelector>
    </UserControl.Resources>

    <StackPanel Orientation="Horizontal" Spacing="32">
        <ListBox
            ItemTemplateSelector="{StaticResource selector}"
            BorderThickness="1"
            Width="300">
            <ListBox.Items>
                <local:ViewModel1 />
                <local:ViewModel2 />
                <local:ViewModel3 />
                <local:ViewModel4 />
            </ListBox.Items>
        </ListBox>
    </StackPanel>
</UserControl>

Inheritance

Object
DataTemplateSelector
TypedDataTemplateSelector
See Also