Sdílet prostřednictvím


Application.Startup Událost

Definice

Nastane, Run() když je volána metoda objektu Application .

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

Event Type

Příklady

Následující příklad ukazuje, jak získat a zpracovat možnosti příkazového řádku ze samostatné aplikace. Pokud byl zadaný parametr příkazového řádku /StartMinimized , aplikace otevře hlavní okno v minimalizovaném stavu.

<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

Aplikace prohlížeče XAML (XBAPs) nemůžou načíst a zpracovat argumenty příkazového řádku, protože se spustí s nasazením ClickOnce (viz Nasazení aplikace WPF (WPF). Můžou ale načítat a zpracovávat parametry řetězce dotazu z adres URL, které se používají ke spuštění.

Poznámky

Typická aplikace Windows Presentation Foundation může při spuštění provádět různé úlohy inicializace, včetně:

  • Zpracování parametrů příkazového řádku

  • Otevření hlavního okna

  • Inicializace prostředků v oboru aplikace

  • Inicializace vlastností oboru aplikace

Hlavní okno a prostředky oboru aplikace můžete deklarativním způsobem zadat pomocí XAML (StartupUri a Resourcesv uvedeném pořadí). Někdy se ale prostředky nebo hlavní okno aplikace dají určit pouze programově za běhu. Kromě toho lze vlastnosti oboru aplikace a parametry příkazového řádku používat pouze programově. Programová inicializace může být provedena zpracováním Startup události, včetně následujících:

  • Získání a zpracování parametrů příkazového řádku, které jsou k dispozici z Args vlastnosti StartupEventArgs třídy, která je předána obslužné rutině Startup události.

  • Inicializace prostředků oboru aplikace pomocí Resources vlastnosti.

  • Inicializace vlastností oboru aplikace pomocí Properties vlastnosti.

  • Vytvořte instanci a zobrazte jedno (nebo více) oken.

Poznámka:

Parametry příkazového řádku lze získat také voláním statické GetCommandLineArgs metody objektu Environment . K GetCommandLineArgs provedení však vyžaduje úplný vztah důvěryhodnosti.

Pokud nastavíte StartupUri pomocí XAML, hlavní okno, které je vytvořeno, není k dispozici z MainWindow vlastnosti nebo Windows vlastnosti objektu Application , dokud se událost nezpracuje Startup . Pokud potřebujete přístup k hlavnímu okně během spouštění, musíte z obslužné rutiny události ručně vytvořit nový objekt Startup okna.

Poznámka:

Pokud vaše aplikace používá CredentialPolicy k určení zásady přihlašovacích údajů, musíte nastavit CredentialPolicy po Startup vyvolání. V opačném případě ji WPF nastaví na výchozí interní zásadu Startup přímo po vyvolání události.

Argumenty příkazového řádku předané Startup obslužné rutině události nejsou stejné jako parametry řetězce dotazu adresy URL předané do aplikace prohlížeče XAML (XBAP).

Platí pro

Viz také