Bedingte Datenvorlagen in WPF
-
05-07-2019 - |
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.
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