/ / Problèmes avec une grande forme (50 éléments environ) dans wpf - wpf, wpf-controls

Problèmes avec une grande forme (environ 50 éléments) dans wpf - wpf, wpf-controls

J'ai un assez gros formulaire sur une page wpf. Je le rassemble sur une grille, mais tous les éléments encombrent la page. J'ai pensé que je diviserais le formulaire en plus petits contrôles utilisateur, puis le reconstituer sur la page comme un seul formulaire. Cela n'a pas vraiment fonctionné: SharedSizeScope sur une grille fait «danser» la forme

Je pourrais diviser le formulaire en "style assistant"page, avec un bouton suivant - traitant de chaque contrôle utilisateur seul, mais je préfère ne pas le diviser en plusieurs pages car l'utilisateur final est habitué à tout avoir sur une seule page. La validation / stockage des données est également vraiment une opération big-bang, ce qui rend plus difficile de fournir des commentaires en cas de problème dans l'une des premières pages / commandes utilisateur.

Et maintenant? Je suis vraiment tenté de simplement mettre tous les petits éléments directement sur la page dans une grande grille. J'ai juste l'impression que c'est mal - ce sera un cauchemar de maintenance - j'ai même commencé à penser "j'aimerais qu'il y ait une sorte de # région tag en xaml "- cela signifie que je connaître J'ai tort ;)

Que puis-je faire?

Réponses:

2 pour la réponse № 1

Je recommanderais fortement d'utiliser des contrôles de conteneurs imbriqués, comme des grilles (ou d'autres panneaux) dans d'autres grilles à l'intérieur de plusieurs grilles, etc.

Il est très courant d'avoir plusieurs niveaux de nidification,et ainsi diviser hiérarchiquement une disposition complexe en plusieurs sous-dispositions moins complexes. Cela rend votre mise en page beaucoup plus simple par rapport à un grand conteneur qui essaie de tout faire (voir votre approche ShardSizeScope échouée).

Une fois que vous avez créé une hiérarchie judicieuse de conteneurs, vous pouvez facilement utiliser la fonctionnalité de réduction de code de l'éditeur Visual Studio XAML pour garder une trace de tous vos XAML.