Frage

Wie wäre es möglich, eine andere Datatemplate Accroding die ein Feld in den Daten wählen Bindungsquelle? Ich würde zwei verschiedene Datatemplates hat

<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) Verwenden Sie dann DataTemplateTxtBox ELSE DataTemplateLabel verwenden) Ist das möglich? Danke.

War es hilfreich?

Lösung

Sie können eine DataTemplateSelector erstellen und an die ContentTemplateSelector Eigenschaft zuweisen (oder ItemTemplateSelector wenn es in einem ItemsControl ist)

Andere Tipps

Dies ist eine indirekte Antwort, aber durch Polymorphismus tun (das heißt ISTEXT Eigenschaft zu verlassen und die Frage zu beantworten, eine andere Art verwenden) können Sie eine Datatemplate für jede andere Art definieren können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top