Application.Startup Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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).