4

J'ai vu deux fils ici à propos de TDI & C#. Les deux n'ont pas vraiment répondu aux questions que j'ai ...Interface de document à onglets dans WPF utilisant uniquement des moyens embarqués?

Depuis que les TDI sont à peu près comme une norme de nos jours, je peux difficilement imaginer, que je dois acheter un contrôle spécial (comme AvalonDock ou SandDock). Cela doit être possible avec construit dans le contrôle de tabulation (?) En quelque sorte! Je n'ai pas besoin de fonctionnalités spéciales comme les tabitems dock et draggable. Ouvrez simplement chaque formulaire dans un nouvel onglet. C'est tout.

Comme mettre tous les contrôles de contenu de formulaires dans les contrôles utilisateur et sur demande (bouton, menu, clic ...) ajouter un nouvel onglet et mettre le contrôle de l'utilisateur correspondant dessus ... quelque chose comme ça.

Comment le feriez-vous? Cela ne peut pas être si compliqué (même pour moi) ou est-ce que je manque quelque chose ?!

merci beaucoup!

+0

bien, que dois-je marquer comme réponse? Tous les 3 travaillent probablement - j'essaie actuellement de comprendre ce que fait Josh Smith dans cet article posté par idursun. C'est une solution très élégante, mais difficile à comprendre pour moi en tant que débutant. Ce qui répond le mieux à ma question, c'est le post de Josh G., je suppose, je vais donc marquer son ... Merci à tous! –

Répondre

5

Ce n'est pas si difficile. Cela semble difficile parce qu'il y a beaucoup de façons différentes de le faire.

Essayez ceci:

<TabControl x:Name="documentArea"/> 

Handler pour bouton AddForm:

private void AddFormClick(object sender, RoutedEventArgs e) 
{ 
    object form = GetNewForm(); 

    documentArea.Items.Add(form); 
} 

Voilà. Vous devez mettre en œuvre GetNewForm() de l'une des deux façons. Avoir renvoyé un contrôle utilisateur qui affiche le formulaire.

OU mieux encore, faites-lui retourner votre document que vous souhaitez afficher. Utilisez un DataTemplate pour sélectionner les contrôles à utiliser pour afficher ce document. Cette méthode va être plus complexe à mettre en place.

6

Peut-être article on MVVM de Josh Smith peut vous donner une idée de la façon de concevoir une telle interface utilisateur. Exemple en cours de construction, il y a une interface de document à onglets, donc vous pouvez l'utiliser comme un bloc de départ.

+0

Soyez averti ... L'article de Josh Smith est une excellente référence, mais il n'est pas simple à comprendre. Vous aurez besoin d'un bon contrôle sur la liaison de données de WPF pour assembler cela ensemble. –

+0

FYI, j'ai upvoted pour le lien à une bonne référence. –

+0

Merci, compte tenu des questions précédentes de @ mad9, je pense qu'il se rapproche de l'implémentation de MVVM :) – idursun

Questions connexes