Application.Startup Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 " 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 Befehlszeilenargumente nicht abrufen und verarbeiten, da sie mit der ClickOnce-Bereitstellung gestartet werden (siehe Bereitstellen einer WPF-Anwendung (WPF)). Sie können jedoch Abfragezeichenfolgenparameter aus den URLs abrufen und verarbeiten, die zum Starten verwendet werden.
Hinweise
Eine typische Windows Presentation Foundation-Anwendung kann beim Starten eine Vielzahl von Initialisierungsaufgaben ausführen, darunter:
Verarbeiten von Befehlszeilenparametern.
Öffnen des Hauptfensters.
Initialisieren von Anwendungsbereichsressourcen.
Initialisieren von Anwendungsbereichseigenschaften.
Sie können das Hauptfenster und anwendungsbezogene Ressourcen deklarativ mit XAML (StartupUri bzw Resources. ) angeben. 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 behandeln des Startup Ereignisses ausgefü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 Anwendungsbereichsressourcen mithilfe der Resources Eigenschaft.
Initialisieren Sie Anwendungsbereichseigenschaften mithilfe der Properties Eigenschaft.
Instanziieren Sie ein (oder mehrere) Fenster, und zeigen Sie es an.
Hinweis
Befehlszeilenparameter können auch durch Aufrufen der statischen GetCommandLineArgs Methode des Environment Objekts abgerufen werden. Erfordert jedoch voll GetCommandLineArgs vertrauenswürdige Ausführung.
Wenn Sie die Verwendung von XAML festlegenStartupUri, steht das erstellte Hauptfenster erst nach dem Startup Verarbeiten des Ereignisses aus der MainWindow Eigenschaft oder der Windows Eigenschaft des Application Objekts zur Verfügung. Wenn Sie während des Startvorgangs Zugriff auf das Hauptfenster benötigen, müssen Sie manuell ein neues Fensterobjekt aus dem Startup Ereignishandler erstellen.
Hinweis
Wenn Ihre Anwendung CredentialPolicy zum Angeben einer Anmeldeinformationsrichtlinie verwendet wird, müssen Sie nach Startup dem Auslösen festlegenCredentialPolicy. 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, entsprechen nicht den URL-Abfragezeichenfolgenparametern, die an eine XAML-Browseranwendung (XBAP) übergeben werden.