2010-01-21 6 views
1

Je cherche à créer un nouveau modèle de contrôle pour un contrôle de tabulation WPF. La situation que j'ai est qu'il y aura un certain nombre d'onglets dans le contrôle et l'utilisateur sera en mesure d'ajouter et de supprimer ces onglets.WPF TabControl ControlTemplate

Idéalement, je voudrais créer quelque chose dans le style des onglets Firefox/IE où vous avez un bouton Supprimer dans l'en-tête de l'onglet pour supprimer l'onglet actuel.

Aussi, et un peu plus compliqué, je veux avoir un nouveau bouton d'onglet qui est toujours sur le côté droit du dernier onglet dans le tabcontrol.

Quelqu'un pourrait-il me diriger dans une direction pour commencer? J'ai vu des exemples de personnes utilisant Blend pour créer le nouveau modèle. Jusqu'à présent, je n'ai pas utilisé cela, mais je viens de télécharger le procès ...

Merci.

Répondre

1

Le bouton "Nouvel onglet" est plus compliquée. Le problème principal est que vous voulez qu'il apparaisse au bon endroit dans ItemsPresenter/TabPanel mais il ne fait pas partie de la collection qui commande le ItemsPresenter car ce n'est pas un TabItem. Je l'ai fait par le passé en modifiant le ControlTemplate du TabControl lui-même pour coller le bouton sur le côté droit du ItemsPresenter mais vous pouvez vous retrouver avec un look bizarre dans les situations où les onglets tombent sur une deuxième rangée puisque le bouton isn fait partie de la mise en page de TabPanel.

0

Que diriez-vous d'utiliser un TemplateSelector?

Créez deux modèles différents - un pour vos éléments d'onglet normaux et un pour votre "bouton nouvel onglet". Les deux sont en fait des éléments d'onglet, mais avec des modèles différents en fonction des conditions de votre TemplateSelector.

Pour obtenir un comportement différent/identifiez votre "nouveau bouton d'onglet", il vous suffit de saisir le code qui vous a été attribué.

Espérons que cela aide un peu.

1

Essayez les articles suivants; ils m'ont tous deux aidé à commencer à écrire un contrôle de tabulation personnalisé.

1. Code Project: An Extended Tab Control

2. WPF TabControl Series

Le premier lien fournit une solution complète personnalisée qui est vraiment bon, mais je l'ai trouvé un peu intimidant au début. Le deuxième lien fournit un article en 4 parties qui vous amène directement à reformater le contrôle de tabulation.