remplacer OnStartup dans WPF
Pour une raison que je ne peux pas obtenir que cela fonctionne à tous. J'ai lu à partir de diverses sources que je peux remplacer OnStartup dans une application WPF et il se déclenche que l'Application est créée. Toutefois, peu importe ce que je fais, rien ne se passe. Voici le code.
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
//My code goes here, but nothing ever happens.
base.OnStartup(e);
}
}
Évidemment, je suis en manque de quelque chose. Malheureusement, la page MSDN n'offre pas beaucoup de perspicacité.
http://msdn.microsoft.com/en-us/library/system.windows.application.onstartup.aspx
Ce que je fais mal?
EDIT:
Il s'avère que mon problème était une petite faute de frappe dans l'espace de noms. App.xaml.cs a la classe définie comme " RTDMyApp.L'application et l'Application.fichier xaml faisait référence à la " RTD_MYApp.App' À n'importe quel taux, de ce fait, combiné avec la accepté de répondre ci-dessous a réussi à me remettre sur les rails.
Essayez d'avoir votre code après la base.OnStartup(e);
Les applications de démarrage ok (à l'exception de votre code n'est pas exécuté) ou avez-vous obtenez une exception? aussi, avez-vous essayé explicitement regertering sur l'événement de Démarrage de l'app.xaml?
J'ai essayé avec un rapide projet WPF dans VS 2010 et je peux remplacer OnStartup l'amende juste. Si vous postez à la fois l'Application.xaml et l'Application.xaml.cs des fichiers à partir de votre projet, je pourrais être en mesure de vous aider.
Si OnStartup n'est jamais appelée, comment devrait-il changer quelque chose?
OriginalL'auteur A.R. | 2011-06-10
Vous devez vous connecter pour publier un commentaire.
Je pense vraiment ce que vous voulez faire est de abonnez-vous à la
Startup
événement. Vous pouvez le faire dans votre fichier XAML:La manipulation de l'événement est différent de substitution de la méthode virtuelle
Je sais que le traitement d'un événement est différent de remplacement d'une méthode virtuelle. Mais dans ce cas précis? Ce qui est vraiment la différence?
Il pourrait y avoir un problème avec l'application.xaml ne pas avoir x:Classe étant définie à la valeur de droite, vous pouvez publier votre application.xaml?
Faire le nom de la classe dans votre xaml.cs fichier correspondre au nom de
x:Class
dans le fichier xaml?OriginalL'auteur Daniel Hilgarth
Avez-vous retiré la StartupUri trop de l'Application xaml?
Si vous l'avez fait, vous devez créer la fenêtre que vous souhaitez afficher:
OriginalL'auteur Erno de Weerd
Séquence de séquence de séquence de. Quoi de plus ennuyeux.
Le droit de séquence (pour une application WPF avec PAS de méthode main explicitement développé et/ou déclaré) est:
puis-je faire:
et jusqu'à présent, le patient se sent beaucoup mieux.
OriginalL'auteur Allen