Domanda

Come sarebbe possibile scegliere una diversa piastra di dati che accoda il campo a nell'origine di associazione dei dati? Avrei 2 diversi modelli di dati

<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) Quindi usa DataTemplateTxtBox ELSE usa DataTemplateLabel) È possibile? Grazie.

È stato utile?

Soluzione

Puoi creare un DataTemplateSelector e assegnarlo alla proprietà ContentTemplateSelector (o ItemTemplateSelector se si trova in un ItemsControl )

Altri suggerimenti

Questa è più una risposta indiretta, ma facendo il polimorfismo (cioè abbandonando la proprietà IsText e rispondendo alla domanda usando un tipo diverso) è possibile definire un DataTemplate per ciascun tipo diverso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top