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í.
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).