Application.Startup Gebeurtenis
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Treedt op wanneer de Run() methode van het Application object wordt aangeroepen.
public:
event System::Windows::StartupEventHandler ^ Startup;
public event System.Windows.StartupEventHandler Startup;
member this.Startup : System.Windows.StartupEventHandler
Public Custom Event Startup As StartupEventHandler
Gebeurtenistype
Voorbeelden
In het volgende voorbeeld ziet u hoe u opdrachtregelopties verkrijgt en verwerkt vanuit een zelfstandige toepassing. Als de opdrachtregelparameter /StartMinimized is opgegeven, opent de toepassing het hoofdvenster met een geminimaliseerde status.
<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
XBAPs (XAML-browsertoepassingen) kunnen opdrachtregelargumenten niet ophalen en verwerken omdat deze worden gestart met ClickOnce-implementatie (zie Deploying a WPF Application (WPF)). Ze kunnen echter queryreeksparameters ophalen en verwerken uit de URL's die worden gebruikt om ze te starten.
Opmerkingen
Een typische Windows Presentation Foundation-toepassing kan verschillende initialisatietaken uitvoeren wanneer deze wordt gestart, waaronder:
Opdrachtregelparameters verwerken.
Het hoofdvenster openen.
Resources voor toepassingsbereik initialiseren.
Eigenschappen van toepassingsbereik initialiseren.
U kunt declaratief het hoofdvenster en de toepassingsbereikbronnen opgeven met XAML (StartupUri en Resourcesrespectievelijk). Soms kunnen de resources of het hoofdvenster van uw toepassing echter alleen programmatisch worden bepaald tijdens runtime. Bovendien kunnen eigenschappen van toepassingsbereik en opdrachtregelparameters alleen programmatisch worden gebruikt. Programmatische initialisatie kan worden uitgevoerd door de Startup gebeurtenis te verwerken, waaronder de volgende:
Opdrachtregelparameters verkrijgen en verwerken, die beschikbaar zijn vanuit de Args eigenschap van de StartupEventArgs klasse die wordt doorgegeven aan de Startup gebeurtenis-handler.
Initialiseer resources binnen het toepassingsbereik met behulp van de Resources eigenschap.
Initialiseer eigenschappen van toepassingsbereik met behulp van de Properties eigenschap.
Instantieer en geef een (of meer) vensters weer.
Note
Opdrachtregelparameters kunnen ook worden verkregen door de statische GetCommandLineArgs methode van het Environment object aan te roepen. GetCommandLineArgs Vereist echter dat volledig vertrouwen wordt uitgevoerd.
Als u StartupUri instelt met behulp van XAML, is het hoofdvenster dat wordt gemaakt, niet beschikbaar vanuit de eigenschap MainWindow of de eigenschap Windows van het Application-object totdat de gebeurtenis Startup is verwerkt. Als u tijdens het opstarten toegang nodig hebt tot het hoofdvenster, moet u handmatig een nieuw vensterobject maken vanuit uw Startup gebeurtenis-handler.
Note
Als uw toepassing CredentialPolicy gebruikt om een referentiebeleid op te geven, moet u CredentialPolicy instellen nadat Startup is gegenereerd; anders wordt WPF ingesteld op een intern standaardbeleid direct nadat de gebeurtenis Startup is gegenereerd.
De opdrachtregelargumenten die worden doorgegeven aan de Startup gebeurtenis-handler, zijn niet hetzelfde als de URL-queryreeksparameters die worden doorgegeven aan een XAML-browsertoepassing (XBAP).