Sdílet prostřednictvím


Application.Startup Událost

Definice

Vyvolá se při Run() zavolání metody 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 (XBAP) nemůžou načítat a zpracovávat argumenty příkazového řádku, protože se spouští 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í k jejich spuštění.

Poznámky

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

  • 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 v oboru aplikace můžete deklarativně určit pomocí XAML (StartupUri a Resourcesv uvedeném pořadí). Někdy se ale prostředky nebo hlavní okno vaší aplikace dají určit jenom programově za běhu. Kromě toho lze vlastnosti oboru aplikace a parametry příkazového řádku použít pouze programově. Programovou inicializaci lze provést zpracováním Startup události, včetně následujících:

  • Získejte a zpracujte parametry 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ů v oboru aplikace pomocí Resources vlastnosti .

  • Inicializujte vlastnosti 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 . Ke spuštění ale GetCommandLineArgs vyžaduje úplný vztah důvěryhodnosti.

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

Poznámka

Pokud vaše aplikace používá CredentialPolicy k určení zásad přihlašovacích údajů, musíte nastavit CredentialPolicy po Startup vyvolání, jinak WPF nastaví výchozí interní zásady přímo po vyvolání Startup události.

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

Platí pro

Viz také