Поделиться через


Application.Startup Событие

Определение

Происходит при Run() вызове метода 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 

Тип события

Примеры

В следующем примере показано, как получить и обработать параметры командной строки из автономного приложения. Если был указан параметр командной строки /StartMinimized , приложение открывает главное окно в свернутом состоянии.

<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

Приложения браузера XAML (XBAPs) не могут извлекать и обрабатывать аргументы командной строки, так как они запускаются с развертыванием ClickOnce (см. раздел "Развертывание приложения WPF(WPF)". Однако они могут извлекать и обрабатывать параметры строки запроса из URL-адресов, которые используются для их запуска.

Комментарии

Обычное приложение Windows Presentation Foundation может выполнять различные задачи инициализации при запуске, в том числе:

  • Обработка параметров командной строки.

  • Открытие главного окна.

  • Инициализация ресурсов области приложения.

  • Инициализация свойств области приложения.

Можно декларативно указать основное окно и ресурсы области приложения с помощью XAML (StartupUri и Resourcesсоответственно). Однако иногда ресурсы или главное окно приложения можно определить только программным способом во время выполнения. Кроме того, свойства области приложения и параметры командной строки можно использовать только программным способом. Программная инициализация может выполняться путем обработки Startup события, включая следующее:

  • Получение и обработка параметров командной StartupEventArgs строки, доступных из Args свойства класса, передаваемого обработчику Startup событий.

  • Инициализировать ресурсы области приложения с помощью Resources свойства.

  • Инициализировать свойства области приложения с помощью Properties свойства.

  • Создайте экземпляр и отображение одного (или нескольких) окон.

Замечание

Параметры командной Environment строки также можно получить путем вызова статического GetCommandLineArgs метода объекта. GetCommandLineArgs Однако для выполнения требуется полное доверие.

Если используется StartupUri XAML, то созданное главное окно недоступно либо из свойства, либо MainWindowWindows свойства Application объекта до тех пор, Startup пока событие не будет обработано. Если во время запуска требуется доступ к главному окну, необходимо вручную создать объект окна из Startup обработчика событий.

Замечание

Если приложение используется CredentialPolicy для указания политики учетных данных, необходимо задать CredentialPolicy после Startup ее возникновения. В противном случае WPF устанавливает ее в внутреннюю политику по умолчанию непосредственно после Startup возникновения события.

Аргументы командной строки, передаваемые обработчику событий, не совпадают с параметрами строки ЗАПРОСА URL-адреса, передаваемыми Startup в приложение браузера XAML (XBAP).

Применяется к

См. также раздел