Les meilleures pratiques pour créer l'application wrapper WPF afficher des écrans sur la demande

StackOverflow https://stackoverflow.com/questions/2438307

  •  19-09-2019
  •  | 
  •  

Question

Contexte: Je développe une application WPF qui contiendra beaucoup de différents « écrans ». Chaque écran contient un qui, à son tour, contient tous les éléments visuels. Certains éléments déclenchent des événements (par exemple, des cases à cocher), un écran propose des outils individuels, etc.

La principale application est « wrapper » autour de ces écrans: il contient une barre de menus, barre d'outils, et aussi bien statusbar (dans un DockPanel) et de l'espace pour afficher un écran. Grâce à la barre de menus, l'utilisateur peut choisir l'écran qu'il veut afficher.

Objectif: Je veux charger dynamiquement et affichage et (événement) gérer un écran dans l'espace dans l'application principale. Je ne veux pas de copier-coller tous les trucs « wrapper » dans tous les différents écrans. Et comme j'ai beaucoup d'écrans complexes (environ 300 - heureusement généré automatiquement). Je ne veux pas charger tous au début de l'application, mais seulement sur demande

Question:

Que recommandez-vous comme la meilleure façon de réaliser cela?
Quel genre de choses dois-je utiliser et enquêter sur: les pages ou les fenêtres ou le contrôle de l'utilisateur pour les écrans? Est-ce que cela affecte la gestion des événements?

Était-ce utile?

La solution

Robbie, vous pouvez emprunter le concept d'espace de travail de l'article WPF MVVM de Josh Smith. Qu'est-ce que vous feriez est d'avoir une fenêtre d'hébergement (votre emballage) et charger un espace de travail dans cette fenêtre. Vous pouvez fermer l'espace de travail et de charger un nouveau au besoin, en gardant une seule ouverte dans la fenêtre principale.

Lien: http://msdn.microsoft.com/en-us/magazine/dd419663. aspx

Autres conseils

Vous pouvez utiliser un cadre pour contenir les différentes pages.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top