2009-10-21 14 views
6

Come sarebbe possibile scegliere un diverso datatemplate accodando un campo nella sorgente di associazione dati? Avrei 2 DataTemplates diversiModelli di dati condizionali in WPF

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

se (VAL.TESTO) Quindi utilizzare DataTemplateTxtBox ELSE utilizzare DataTemplateLabel) è possibile? Grazie.

risposta

7

È possibile creare un DataTemplateSelector e assegnare alla proprietà ContentTemplateSelector (o ItemTemplateSelector se si è in una ItemsControl)

0

Questa è più una risposta indiretta, ma eseguendo il polimorfismo (ovvero abbandonando la proprietà IsText e rispondendo alla domanda utilizzando un tipo diverso) è possibile definire un DataTemplate per ogni tipo diverso.