Quel est le point d'entrée d'une application WPF?
La Main
méthode est le point d'entrée d'une application console C#. Ainsi, par exemple, si je dois créer des threads ou des services, je vais faire au sein de la Main
méthode.
Je ne vois pas le Main
méthode à l'intérieur d'un projet WPF, alors quel est le point d'entrée d'une application WPF? Si je dois commencer à certains threads ou des services, où doit écrire le code pour leur départ?
Mise à JOUR: cette réponse résume les solutions disponibles, mais quels sont les avantages et les inconvénients de chaque solution?
- liés à la remplacer discuté ici stackoverflow.com/questions/6156550/...
- Re la mise à jour: la réponse mentionne les professionnels : de plus en plus tôt. C'est une question de quand, à l'égard des autres code. Et il y a quelque chose comme "trop tôt".
Vous devez vous connecter pour publier un commentaire.
Votre principal point d'entrée est une substitution de OnStartup dans le code-behind de l'App.Xaml :
D'autres points d'intérêt pourrait être d'Application.OnActivate() et le Chargé et Initialisé événements de votre MainWindow.
Dépend de ce que ces threads/services ont besoin et veulent.
OnStartup
méthode, tandis que les services devraient être démarré après l'INTERFACE utilisateur est prêt. Est-ce correct?base.OnStartup(e)
?Pour WPF application autonome qui est généré dans Visual Studio à l'aide de l'assistant Nouveau Projet, le point d'entrée de l'application est la fonction Principale, définie dans l'App.g.cs (code généré). Dans le projet par défaut, c'est le public static void App.La méthode principale.
En général, une .NET application utilisera comme point d'entrée (première fonction appelée) la méthode nommée main qui a public/static modificateurs d'accès–n'importe quelle classe Principale est située dans.
Si votre application a plus d'une classe avec un public statique de la méthode main, vous aurez besoin de spécifier le point d'entrée de dialogue propriétés du projet. Dans la liste déroulante objet de Démarrage, sélectionnez la classe qui contient la méthode main qui doit être appelée au démarrage.
Main
-- et de son contenu, de montrer comment démarrer une application WPF. Bien que vous ne pouvez pas personnaliser le générés point d'entrée, vous pouvez construire votre propre qui fait la même chose (éventuellement après la configuration de l'application).Le Principal pour une application WPF est généré automatiquement et peut être trouvé dans un de la .cs fichiers de sauvegarde de votre Application.fichier xaml. Vous pouvez étendre App.xaml -> App.xaml.cs -> App -> Main() dans l'explorateur de solutions, qui vous mènera à l'Application.g.j'.cs source de fichier qui contient votre fonction main ().
Ce fichier est généré automatiquement, donc, plutôt que d'éditer le Principal, je voudrais vous recommandons d'en créer un nouveau .cs de fichier dans votre projet qui contient la fonction main (). Ensuite, vous devez modifier les propriétés de votre projet afin de préciser le type de démarrage de l'objet. Cette opération est effectuée sur l'onglet Application dans votre projet de propriétés. Définissez-la à la classe qui contient personnalisé de votre fonction Principale.
Vous voulez probablement pour copier le contenu de l'générée automatiquement Principal dans votre nouvelle, puisque vous voulez que votre application se comporter normalement (afficher la fenêtre principale, etc.).
Point d'entrée est d'Application.xaml.cs généralement.
Vous voulez éviter de mettre du code dans l'idéal. Au lieu d'essayer de l'instanciation dans les modèles de vue de MVVM. C'est généralement un délicat place pour trouver des trucs comme votre question est testament à.
Une autre alternative, les charger dans une classe d'assistance et ensuite instancier que dans l'application.fichier xaml.