Application.Startup Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit lorsque la méthode Run() de l'objet Application est appelée.
public:
event System::Windows::StartupEventHandler ^ Startup;
public event System.Windows.StartupEventHandler Startup;
member this.Startup : System.Windows.StartupEventHandler
Public Custom Event Startup As StartupEventHandler
Type d'événement
Exemples
L’exemple suivant montre comment acquérir et traiter des options de ligne de commande à partir d’une application autonome. Si le paramètre de ligne de commande /StartMinimized a été fourni, l’application ouvre la fenêtre main dans un état réduit.
<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
Les applications de navigateur XAML (XBAPs) ne peuvent pas récupérer et traiter les arguments de ligne de commande, car elles sont lancées avec le déploiement ClickOnce (voir Déploiement d’une application WPF (WPF)). En revanche, ils peuvent récupérer et traiter des paramètres de chaîne de requête à partir des URL servant à les lancer.
Remarques
Une application Windows Presentation Foundation standard peut effectuer diverses tâches d’initialisation au démarrage, notamment :
Traitement des paramètres de ligne de commande.
Ouverture de la fenêtre main.
Initialisation des ressources d’étendue d’application.
Initialisation des propriétés d’étendue d’application.
Vous pouvez spécifier de manière déclarative la fenêtre main et les ressources d’étendue d’application à l’aide de XAML (StartupUri et Resources, respectivement). Toutefois, parfois, les ressources ou main fenêtre de votre application ne peuvent être déterminées que par programmation au moment de l’exécution. En outre, les propriétés d’étendue d’application et les paramètres de ligne de commande ne peuvent être utilisés que par programmation. L’initialisation par programmation peut être effectuée en gérant l’événement Startup , notamment les éléments suivants :
Acquérir et traiter les paramètres de ligne de commande, qui sont disponibles à partir de la Args propriété de la StartupEventArgs classe qui est passée au gestionnaire d’événements Startup .
Initialisez des ressources d’étendue d’application à l’aide de la Resources propriété .
Initialisez les propriétés d’étendue d’application à l’aide de la Properties propriété .
Instanciez et affichez une (ou plusieurs) fenêtres.
Notes
Les paramètres de ligne de commande peuvent également être acquis en appelant la méthode statique GetCommandLineArgs de l’objet Environment . Toutefois, GetCommandLineArgs nécessite une confiance totale pour s’exécuter.
Si vous définissez StartupUri à l’aide de XAML, la fenêtre main créée n’est pas disponible à partir de la MainWindow propriété ou de la Windows propriété de l’objet Application tant qu’après le traitement de l’événementStartup. Si vous avez besoin d’accéder à la fenêtre main au démarrage, vous devez créer manuellement un objet fenêtre à partir de votre Startup gestionnaire d’événements.
Notes
Si votre application utilise CredentialPolicy pour spécifier une stratégie d’informations d’identification, vous devez définir CredentialPolicy après Startup est déclenché ; sinon, WPF la définit sur une stratégie interne par défaut directement après que l’événement Startup a été déclenché.
Les arguments de ligne de commande passés au Startup gestionnaire d’événements ne sont pas les mêmes que les paramètres de chaîne de requête d’URL qui sont passés à une application de navigateur XAML (XBAP).