Wie wird Code ausgeführt, wenn eine C # -Anwendung gestartet wird?

8

Ich habe etwas Code in die öffentliche MainWindow () {} geschrieben, aber ich habe immer ein paar obskure XAML-Parsingfehler bekommen (nicht auf meinem Computer, aber auf 3 anderen habe ich es ausprobiert - yep! )

Gibt es den bevorzugten Weg, um Code SO BALD zu starten, wie die Anwendung startet?

Die Theorie ist, ich will, dass es nach Hause ruft und es fragt, dass es in Ordnung ist, anzufangen. Wenn nicht, möchte ich, dass die App geschlossen wird. Nennen Sie es einen behelfsmäßigen Kopierschutz:)

    
dsp_099 08.01.2012, 11:21
quelle

2 Antworten

19

Unter normalen Umständen erstellt WPF die Methode Main (den Einstiegspunkt der Anwendung) für Sie. Ihre Optionen

  • Erstellen Sie einen Handler für das Ereignis Application.Startup und legen Sie es ab Dein Code dort. Alternativ können Sie die Methode OnStartup() überschreiben.
  • Wenn Ihnen das zu spät ist, fügen Sie Ihren Code in den parameterlosen Konstruktor von App ein (er existiert wahrscheinlich nicht, aber Sie können ihn erstellen).
  • Wenn das noch zu spät ist, können Sie Ihre eigene Main() -Methode erstellen. Es gibt mehrere Möglichkeiten, dies zu tun . Wahrscheinlich ist es am einfachsten, es in eine andere Klasse zu legen und Visual Studio mitzuteilen, dass Sie diese Methode in den Eigenschaften des Projekts verwenden wollen.

Andererseits haben Sie gesagt, dass Sie einige obskure XAML-Parsing-Fehler bekommen. Vielleicht sollten Sie herausfinden, was genau sie meinen?

    
svick 08.01.2012, 11:32
quelle
0

Sie haben Window.Loaded event in WPF .

Wenn Sie jedoch nach Laufberechtigung suchen möchten, bevor die Anwendung geladen wird (wegen Ressourcenverbrauch oder Geschäftsstrategie), verwenden Sie bootstrapper eine separate kleine executable , die zuerst von% co_de gestartet wurde % und danach wenn alles in Ordnung ist% mainexe läuft bootstrapper

    
Tigran 08.01.2012 11:26
quelle