2010-04-19 6 views
0

J'ai défini TabControl suivant appelé TabControl1:Comment lier un TabControl aux TabItems d'un autre TabControl dans WPF?

<TabControl> 
    <TabItem Header="Cheese"> The Cheese Tab </TabItem> 
    <TabItem Header="Pepperoni"> The Pepperoni Tab </TabItem> 
    <TabItem Header="Mushrooms"> The Mushrooms Tab </TabItem> 
</TabControl> 

J'ai défini une autre TabControl, TabControl2 qui est chargé de façon dynamique à partir d'un add-in ou plug-in:

<TabControl> 
    <TabItem Header="Anchovies"> The AnchoviesTab </TabItem> 
    <TabItem Header="Jalepenos"> The Jalepenos Tab </TabItem> 
    <TabItem Header="Rattle Snake"> The Rattle Snake Tab </TabItem> 
</TabControl> 

Après TabControl1 se lie à TabControl2 après l'élément « Cheese », TabControl1 devrait ressembler à ceci:

<TabControl> 
    <TabItem Header="Cheese"> The Cheese Tab </TabItem>  
    <TabItem Header="Anchovies"> The AnchoviesTab </TabItem> 
    <TabItem Header="Jalepenos"> The Jalepenos Tab </TabItem> 
    <TabItem Header="Rattle Snake"> The Rattle Snake Tab </TabItem> 
    <TabItem Header="Pepperoni"> The Pepperoni Tab </TabItem> 
    <TabItem Header="Mushrooms"> The Mushrooms Tab </TabItem> 
</TabControl> 

Répondre

0

Utiliser les données pour le modèle de votre interface utilisateur. c'est-à-dire voir des modèles. Générer l'interface utilisateur de ces modèles de vue:

<TabControl ItemsSource="{Binding Items}" 

Ensuite, vous pouvez combiner ces modèles dans des collections comme bon vous semble, et de générer l'interface utilisateur de ces collections.

+0

J'ai oublié de le mentionner. La première liste d'éléments est statique, tandis que la seconde liste est chargée dynamiquement à partir d'un autre assembly. Je souhaite tirer parti de l'environnement de conception pour mettre en forme mes contrôles sur les pages à onglet individuelles. Je ne vois pas comment je peux le faire avec un modèle de vue, puisque je devrais recréer tous ces contrôles en utilisant des modèles et du code. De plus, ces contrôles contiennent des données telles que les paramètres qui sont stockés dans le fichier de paramètres des assemblys. Si je peux en quelque sorte seulement lier les TabItems individuels au lieu d'un TabControl entier, cela résoudrait mon problème. –

+0

Veuillez également ajouter que ma solution précédente consistait à charger l'assembly contenant TabControl2 et à copier ses éléments TabItem individuels dans Control1. Cela fonctionne, mais pas aussi propre et dynamique que je le voudrais. Je pourrais vivre avec cela, mais existe-t-il un moyen de "combiner" ces deux TabControls, c'est-à-dire d'insérer facilement TabItems d'un à l'autre à un nœud donné? –

Questions connexes