Question

Comment serait-il possible de choisir un modèle de données différent pour l’enregistrement d’un champ dans la source de liaison de données? J'aurais 2 DataTemplates différents

<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) Ensuite, utilisez DataTemplateTxtBox ELSE, utilisez DataTemplateLabel) Est-ce possible? Merci.

Était-ce utile?

La solution

Vous pouvez créer un DataTemplateSelector et l'assigner à la propriété ContentTemplateSelector (ou à ItemTemplateSelector si elle se trouve dans un ItemsControl )

Autres conseils

C’est plus une réponse indirecte, mais en faisant du polymorphisme (c’est-à-dire en abandonnant la propriété IsText et en répondant à la question en utilisant un type différent), vous pouvez définir un DataTemplate pour chaque type différent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top