Question

How would it be possible to choose a different datatemplate accroding the a field in the data binding source? I would have 2 different DataTemplates

<DataTemplate x:Key="DataTemplateLabel">
    <Label Width="60" Height="25" Background="Red">
    <TextBlock Text="{Binding Path=Name}"/>
    </Label>
</DataTemplate>



<DataTemplate x:Key="DataTemplateTxtBox">
    <TextBox Width="60" Height="25" Background="Red" Text="{Binding Path=Text}"/>
</DataTemplate>

if (isText) Then use DataTemplateTxtBox ELSE use DataTemplateLabel) Is this possible? Thanks.

Was it helpful?

Solution

You can create a DataTemplateSelector and assign it to the ContentTemplateSelector property (or ItemTemplateSelector if it is in an ItemsControl)

OTHER TIPS

This is more an indirect answer, but by doing polymorphism (i.e. abandoning IsText property and answering the question using a different type) you can define a DataTemplate for each different type.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top