J'ai un ListBox qui doit afficher une combinaison checkbox/textblock pour chaque élément. Les éléments ne sont cependant pas dans une collection mais sont exposés en tant que propriétés (boolean/String) dans une classe. Ce qui signifie que je ne peux pas définir la propriété Binding dans le DataTemplate pour l'élément, puisque chaque élément sera lié à une propriété différente.Réutilisation de WPF DataTemplate
Est-il possible de définir un DataTemplate qui n'est lié à aucune propriété, puis de définir la liaison lors de l'utilisation de DataTemplate.
En pseudocode:
<DataTemplate x:Key="ReusableDataTemplate">
<StackPanel Orientation="Horizontal">
<CheckBox />
<TextBlock />
</StackPanel>
</DataTemplate>
Et plus tard l'utiliser comme:
<ListBox>
<ListBoxItem DataTemplate="ReusableDataTemplate" CheckBoxBinding="{Path=Enable1}" TextBlockBinding="{Path=Enable1Text}"/>
<ListBoxItem DataTemplate="ReusableDataTemplate" CheckBoxBinding="{Path=Enable2}"
TextBlockBinding="{Path=Enable2Text}"/>
<ListBoxItem DataTemplate="ReusableDataTemplate" CheckBoxBinding="{Path=Enable3}" TextBlockBinding="{Path=Enable3Text}"/>
</ListBox>