Application.Startup Evento

Definição

Ocorre quando o Run() método do Application objeto é chamado.

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

Tipo de Evento

Exemplos

O exemplo seguinte mostra como adquirir e processar opções de linha de comandos a partir de uma aplicação autónoma. Se o parâmetro de linha de comandos /StartMinimized for fornecido, a aplicação abre a janela principal num estado minimizado.

<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

As aplicações de navegador XAML (XBAPs) não conseguem recuperar e processar argumentos de linha de comandos porque são iniciados com a implementação ClickOnce (ver Deploying a WPF Application (WPF)). No entanto, podem recuperar e processar parâmetros de string de consulta dos URLs usados para os lançar.

Observações

Uma aplicação típica do Windows Presentation Foundation pode realizar uma variedade de tarefas de inicialização quando arranca, incluindo:

  • A processar parâmetros da linha de comandos.

  • A abrir a janela principal.

  • Inicializar recursos no âmbito da aplicação.

  • Inicialização das propriedades do âmbito da aplicação.

Pode especificar declarativamente a janela principal e os recursos de âmbito da aplicação usando XAML (StartupUri e Resources, respetivamente). Por vezes, no entanto, os recursos ou a janela principal da sua aplicação só podem ser determinados programaticamente em tempo de execução. Além disso, as propriedades do âmbito da aplicação e os parâmetros da linha de comandos só podem ser usados programaticamente. A inicialização programática pode ser realizada ao lidar com o Startup evento, incluindo o seguinte:

  • Adquirir e processar parâmetros de linha de comandos, que estão disponíveis a partir da Args propriedade da StartupEventArgs classe que é passada ao Startup gestor de eventos.

  • Inicialize os recursos do âmbito da aplicação utilizando a Resources propriedade.

  • Inicialize as propriedades do escopo da aplicação usando a propriedade Properties .

  • Instancia e mostra uma (ou mais) janelas.

Note

Os parâmetros da linha de comandos também podem ser adquiridos chamando o método estático GetCommandLineArgs do Environment objeto. No entanto, GetCommandLineArgs requer total confiança para ser executado.

Se definir StartupUri usando XAML, a janela principal criada não está disponível nem pela propriedade MainWindow nem pela propriedade Windows do objeto Application até que o evento Startup seja processado. Se precisares de acesso à janela principal durante o arranque, tens de criar manualmente um novo objeto de janela a partir do teu Startup gestor de eventos.

Note

Se a sua candidatura usar CredentialPolicy para especificar uma política de credenciais, precisa de definir CredentialPolicy após Startup ser aumentado; caso contrário, WPF define para uma política interna por defeito imediatamente após o evento Startup ter sido ativado.

Os argumentos da linha de comandos que são passados para o Startup gestor de eventos não são os mesmos que os parâmetros da string de consulta URL que são passados para uma aplicação de navegador XAML (XBAP).

Aplica-se a

Ver também