Freigeben über


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

Beispiele

Das folgende Beispiel zeigt, wie Sie Befehlszeilenoptionen aus einer eigenständigen Anwendung abrufen und verarbeiten. Wenn der Befehlszeilenparameter /StartMinimized angegeben wurde, öffnet die Anwendung das fenster Standard 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 der 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 beim Starten eine Vielzahl von Initialisierungsaufgaben ausführen, einschließlich:

  • Verarbeitung von Befehlszeilenparametern.

  • Öffnen des Standard-Fensters.

  • Initialisieren von Anwendungsbereichsressourcen.

  • Initialisieren von Anwendungsbereichseigenschaften.

Sie können das Standard Fenster und die Anwendungsbereichressourcen mithilfe von XAML (StartupUri bzwResources. ) deklarativ angeben. Manchmal können die Ressourcen oder Standard Fensters Ihrer Anwendung jedoch nur zur Laufzeit programmgesteuert bestimmt werden. Darüber hinaus können Anwendungsbereichseigenschaften und Befehlszeilenparameter nur programmgesteuert verwendet werden. Die programmgesteuerte Initialisierung kann durch die Behandlung des Startup Ereignisses durchgeführt werden, einschließlich der folgenden:

  • Abrufen und Verarbeiten von Befehlszeilenparametern, die über die Args -Eigenschaft der StartupEventArgs -Klasse verfügbar sind, die an den Startup Ereignishandler übergeben wird.

  • Initialisieren Sie Anwendungsbereichressourcen mithilfe der Resources -Eigenschaft.

  • Initialisieren Sie anwendungsbezogene Eigenschaften mithilfe der Properties -Eigenschaft.

  • Instanziieren Und Anzeigen eines (oder mehrerer) Fenster.

Hinweis

Befehlszeilenparameter können auch durch Aufrufen der statischen GetCommandLineArgs Methode des Environment Objekts abgerufen werden. GetCommandLineArgs Für die Ausführung ist jedoch vollständige Vertrauenswürdigstellung erforderlich.

Wenn Sie XAML festlegenStartupUri, ist das Standard Fenster, das erstellt wird, erst nach der Verarbeitung des Startup Ereignisses über die MainWindow -Eigenschaft oder die Windows -Eigenschaft des Application -Objekts verfügbar. Wenn Sie während des Startvorgangs Zugriff auf das Standard-Fensters 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 CredentialPolicy Sie festlegen, nachdem Startup ausgelöst wird. Andernfalls legt WPF sie direkt nach dem Auslösen des Startup Ereignisses auf eine interne Standardrichtlinie fest.

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

Gilt für:

Weitere Informationen