Application.Startup Evento

Definizione

Si verifica quando viene chiamato il metodo Run() dell'oggetto Application.Occurs when the Run() method of the Application object is called.

public:
 event System::Windows::StartupEventHandler ^ Startup;
public event System.Windows.StartupEventHandler Startup;
member this.Startup : System.Windows.StartupEventHandler 
Public Custom Event Startup As StartupEventHandler 

Esempi

Nell'esempio seguente viene illustrato come acquisire ed elaborare le opzioni della riga di comando da un'applicazione autonoma.The following example shows how to acquire and process command-line options from a standalone application. Se è stato specificato il parametro della riga di comando /StartMinimized , l'applicazione apre la finestra principale in uno stato ridotto a icona.If the /StartMinimized command-line parameter was provided, the application opens the main window in a minimized state.

<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

applicazioni browser XAML (XBAP)XAML browser applications (XBAPs) non è in grado di recuperare ed elaborare gli argomenti della riga di comando perché vengono avviati con ClickOnceClickOnce distribuzione (vedere distribuzione di un'applicazione WPF (WPF)).cannot retrieve and process command-line arguments because they are launched with ClickOnceClickOnce deployment (see Deploying a WPF Application (WPF)). Tuttavia, possono recuperare ed elaborare parametri della stringa di query dagli URL usati per avviarle.However, they can retrieve and process query string parameters from the URLs that are used to launch them.

Commenti

Una tipica applicazione Windows Presentation Foundation può eseguire un'ampia gamma di attività di inizializzazione all'avvio, tra cui:A typical Windows Presentation Foundation application may perform a variety of initialization tasks when it starts up, including:

  • Elaborazione dei parametri della riga di comando.Processing command-line parameters.

  • Apertura della finestra principale.Opening the main window.

  • Inizializzazione delle risorse dell'ambito dell'applicazione.Initializing application-scope resources.

  • Inizializzazione delle proprietà dell'ambito dell'applicazione.Initializing application-scope properties.

È possibile specificare in modo dichiarativo la finestra principale e le risorse dell'ambito dell'applicazione usando rispettivamente XAMLXAML (StartupUri e Resources).You can declaratively specify the main window and application-scope resources using XAMLXAML (StartupUri and Resources, respectively). In alcuni casi, tuttavia, le risorse o la finestra principale dell'applicazione possono essere determinate solo a livello di codice in fase di esecuzione.Sometimes, however, the resources or main window of your application can only be determined programmatically at run time. Inoltre, le proprietà dell'ambito dell'applicazione e i parametri della riga di comando possono essere utilizzati solo a livello di codice.Additionally, application-scope properties and command-line parameters can only be used programmatically. L'inizializzazione a livello di codice può essere eseguita gestendo l'evento Startup, inclusi i seguenti:Programmatic initialization can be performed by handling the Startup event, including the following:

  • Acquisire ed elaborare i parametri della riga di comando, che sono disponibili dalla proprietà Args della classe StartupEventArgs passata al gestore dell'evento Startup.Acquire and process command-line parameters, which are available from the Args property of the StartupEventArgs class that is passed to the Startup event handler.

  • Inizializzare le risorse dell'ambito dell'applicazione usando la proprietà Resources.Initialize application-scope resources by using the Resources property.

  • Inizializzare le proprietà dell'ambito dell'applicazione usando la proprietà Properties.Initialize application-scope properties by using the Properties property.

  • Creare un'istanza e visualizzare una o più finestre.Instantiate and show one (or more) windows.

Nota

I parametri della riga di comando possono essere acquisiti anche chiamando il metodo statico di GetCommandLineArgs dell'oggetto Environment.Command-line parameters can also be acquired by calling the static GetCommandLineArgs method of the Environment object. Tuttavia, GetCommandLineArgs richiede l'attendibilità totale per l'esecuzione.However, GetCommandLineArgs requires full trust to execute.

Se si imposta StartupUri utilizzando XAMLXAML, la finestra principale creata non sarà disponibile dalla proprietà MainWindow o dalla proprietà Windows dell'oggetto Application fino a dopo l'elaborazione dell'evento Startup.If you set StartupUri using XAMLXAML, the main window that is created is not available from either the MainWindow property or the Windows property of the Application object until after the Startup event is processed. Se è necessario accedere alla finestra principale durante l'avvio, è necessario creare manualmente un nuovo oggetto finestra dal gestore dell'evento Startup.If you need access to the main window during startup, you need to manually create a new window object from your Startup event handler.

Nota

Se l'applicazione usa CredentialPolicy per specificare i criteri delle credenziali, è necessario impostare CredentialPolicy dopo la generazione di Startup. in caso contrario, WPFWPF lo imposta su un criterio interno predefinito direttamente dopo la generazione dell'evento Startup.If your application uses CredentialPolicy to specify a credential policy, you need to set CredentialPolicy after Startup is raised; otherwise, WPFWPF sets it to a default internal policy directly after the Startup event has been raised.

Gli argomenti della riga di comando passati al gestore dell'evento Startup non corrispondono ai parametri della stringa di query URLURL passati a un applicazione browser XAML (XBAP)XAML browser application (XBAP).The command-line arguments that are passed to the Startup event handler are not the same as the URLURL query string parameters that are passed to an applicazione browser XAML (XBAP)XAML browser application (XBAP).

Si applica a

Vedi anche