Question

J'apprends WPF.

Je souhaite fournir ma propre méthode Main dans mon App.xaml.cs plutôt que de la générer pour moi dans App.g.cs. Cependant, je continue à avoir des conflits parce que je n’ai pas trouvé le moyen d’empêcher la génération d’une nouvelle Main.

Y at-il un paramètre dans mon fichier de projet ou ailleurs qui le contrôle?

Était-ce utile?

La solution

J'ai trouvé la réponse ici. http://learnwpf.com/post/2007/12/13/How-can-I-provide-my-own-Main%28%29-method-in-my-WPF- application.aspx

C’est:

  

WPF sait comment créer la méthode Main () pour un fichier xaml particulier via la propriété d'action de génération définie pour App.xaml - elle comporte une action de génération ApplicationDefinition. En modifiant ce paramètre en Page, WPF ne crée pas la méthode Main et vous pouvez fournir le vôtre dans un fichier de classe standard que vous ajoutez au projet.

Toutefois, dans les commentaires du blog ci-dessus, un commentaire indique qu'il peut y avoir des problèmes de fusion et qu'il référence: http://blogs.msdn.com/expression/archive/2008/04/09/creating -a-wpf-blend-projet-qui-charge-ressources-dans-code.aspx . Je ne comprends pas encore tout à fait les problèmes.

Autres conseils

Vous pouvez également simplement créer une classe distincte (par exemple, Entry) chargée de l’amorçage de votre application. Accédez ensuite aux paramètres du projet et définissez votre objet de démarrage sur <=>. De cette façon, vous n’avez même pas besoin de désactiver la méthode générée automatiquement.

Le moyen le plus simple consiste à définir l'action de construction dans la fenêtre Propriétés de ApplicationDefinition à Page pour App.Xaml.

Ensuite, vous pouvez définir votre propre point d'entrée.

J'ai trouvé une solution:

  1. Copiez les données de votre fichier app.xaml
  2. Supprimez le fichier app.xaml et recréez-le avec le même nom
  3. Créez la méthode `main` dans le fichier .cs et collez-y l'ancien code copié

Une solution consiste à ne pas définir une classe dérivée de l'application en XAML afin de pouvoir définir manuellement la méthode Main avec votre exigence personnalisée

La méthode la plus simple consiste à créer une classe telle que Startup.cs avec une action de compilation à compiler. et supprimer ApplicationDefinition de App.xaml convertir cela en page et supprimez-le de tout autre fichier de l'application

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