Modelli di dati condizionali in WPF
-
05-07-2019 - |
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.
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