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 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.