Application.Startup Ereignis

Definition

Tritt auf, wenn die Run()-Methode des Application-Objekts aufgerufen wird.

public:
 event System::Windows::StartupEventHandler ^ Startup;
public event System.Windows.StartupEventHandler Startup;
member this.Startup : System.Windows.StartupEventHandler 
Public Custom Event Startup As StartupEventHandler 

Ereignistyp

StartupEventHandler

Beispiele

Das folgende Beispiel zeigt, wie Befehlszeilenoptionen aus einer eigenständigen Anwendung erworben und verarbeitet werden. Wenn der Befehlszeilenparameter /StartMinimized bereitgestellt wurde, öffnet die Anwendung das Hauptfenster in einem minimierten Zustand.

<Application
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="SDKSample.App"
  Startup="App_Startup" />
using System.Windows;

namespace SDKSample
{
    public partial class App : Application
    {
        void App_Startup(object sender, StartupEventArgs e)
        {
            // Application is running
            // Process command line args
            bool startMinimized = false;
            for (int i = 0; i != e.Args.Length; ++i)
            {
                if (e.Args[i] == "/StartMinimized")
                {
                    startMinimized = true;
                }
            }

            // Create main application window, starting minimized if specified
            MainWindow mainWindow = new MainWindow();
            if (startMinimized)
            {
                mainWindow.WindowState = WindowState.Minimized;
            }
            mainWindow.Show();
        }
    }
}

Imports System.Windows

Namespace SDKSample
    Partial Public Class App
        Inherits Application
        Private Sub App_Startup(ByVal sender As Object, ByVal e As StartupEventArgs)
            ' Application is running
            ' Process command line args
            Dim startMinimized As Boolean = False
            Dim i As Integer = 0
            Do While i <> e.Args.Length
                If e.Args(i) = "/StartMinimized" Then
                    startMinimized = True
                End If
                i += 1
            Loop

            ' Create main application window, starting minimized if specified
            Dim mainWindow As New MainWindow()
            If startMinimized Then
                mainWindow.WindowState = WindowState.Minimized
            End If
            mainWindow.Show()
        End Sub
    End Class
End Namespace

XAML-Browseranwendungen (XBAPs) können Keine Befehlszeilenargumente abrufen und verarbeiten, da sie mit ClickOnce Bereitstellung gestartet werden (siehe Bereitstellen einer WPF-Anwendung (WPF)). Von den zum Starten verwendeten URLs können jedoch Abfragezeichenfolgenparameter abgerufen und verarbeitet werden.

Hinweise

Eine typische Windows Presentation Foundation anwendung kann eine Vielzahl von Initialisierungsaufgaben ausführen, wenn sie gestartet wird, einschließlich:

  • Verarbeiten von Befehlszeilenparametern.

  • Öffnen des Hauptfensters.

  • Initialisieren von Anwendungsbereichsressourcen.

  • Initialisieren von Anwendungsbereichseigenschaften.

Sie können das Hauptfenster und die Anwendungsbereichsressourcen deklarativ angeben, indem Sie XAML ( StartupUri Resources bzw. ) verwenden. Manchmal können die Ressourcen oder das Hauptfenster Ihrer Anwendung jedoch nur programmgesteuert zur Laufzeit bestimmt werden. Darüber hinaus können Anwendungsbereichseigenschaften und Befehlszeilenparameter nur programmgesteuert verwendet werden. Die programmgesteuerte Initialisierung kann durch Behandlung des -Ereignisses Startup durchgeführt werden, einschließlich der folgenden:

  • Erwerben und verarbeiten Sie Befehlszeilenparameter, die über die -Eigenschaft der Klasse verfügbar Args StartupEventArgs sind, die an den Startup Ereignishandler übergeben wird.

  • Initialisieren Sie Anwendungsbereichsressourcen mithilfe der Resources -Eigenschaft.

  • Initialisieren Sie Anwendungsbereichseigenschaften mithilfe der Properties -Eigenschaft.

  • Instanziieren und Anzeigen eines (oder mehrere) Fensters.

Hinweis

Befehlszeilenparameter können auch durch Aufrufen der statischen GetCommandLineArgs -Methode des -Objekts erworben Environment werden. Erfordert jedoch GetCommandLineArgs volle Vertrauenswürdigkeit, um ausgeführt zu werden.

Wenn Sie StartupUri mit XAML festlegen, ist das erstellte Hauptfenster erst nach der Verarbeitung des Ereignisses über MainWindow die -Eigenschaft oder die Windows -Eigenschaft des Application -Objekts Startup verfügbar. Wenn Sie während des Starts Zugriff auf das Hauptfenster benötigen, müssen Sie manuell ein neues Fensterobjekt aus Ihrem Startup Ereignishandler erstellen.

Hinweis

Wenn Ihre Anwendung CredentialPolicy verwendet, um eine Anmeldeinformationsrichtlinie anzugeben, müssen Sie CredentialPolicy festlegen, nachdem Startup ausgelöst wurde. Andernfalls legt WPF diese direkt nach dem Ereignis auf eine interne Standardrichtlinie Startup fest.

Die Befehlszeilenargumente, die an den Ereignishandler übergeben werden, Startup sind nicht identisch mit den URL-Abfragezeichenfolgenparametern, die an eine XAML-Browseranwendung (XBAP) übergeben werden.

Gilt für

Siehe auch