J'ai un WPF TabControl
que j'ai mis le ItemTemplate
aussi bien que le ContentTemplate
. Cet onglet affiche les informations du journal des appels en fonction des informations de support technique du client. À l'intérieur de ce même contrôle, j'aimerais également pouvoir afficher un modèle ReturnAuthorization
. Je souhaite les échanger en fonction du type d'objet ajouté à la collection Items de TabControl
. Est-ce que c'est quelque chose qui est possible?Comment puis-je modifier les éléments et les modèles de contenu en fonction du type d'objet?
J'ai un code pseudo qui montre un peu ce que je veux retirer:
<TabControl x:Name="tabCases" IsSynchronizedWithCurrentItem="True" ItemContainerStyle="{StaticResource ClosableTabItemTemplate}" >
<TabControl.ItemTemplate>
if (Type is Entities:Case)
{
<DataTemplate DataType="{x:Type Entities:Case}">
<TextBlock Text="{Binding Path=Id}" />
</DataTemplate>
}
else if (Type is Entities1:RAMaster)
{
<DataTemplate DataType="{x:Type Entities1:RAMaster}">
<TextBlock Text="{Binding Path=Id}" />
</DataTemplate>
}
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate DataType="{x:Type Entities:Case}">
<CallLog:CaseReadOnlyDisplay DataContext="{Binding}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Dans ce code, comment wpf sait-il que les DataTemplates spécifiés dans les ressources seront pour ItemTemplate? – CharlesB