共用方式為


Application.Run 方法

定義

啟動 Windows Presentation Foundation 應用程式。

多載

Run(Window)

啟動 Windows Presentation Foundation 應用程式,並開啟指定的視窗。

Run()

啟動 Windows Presentation Foundation 應用程式。

Run(Window)

啟動 Windows Presentation Foundation 應用程式,並開啟指定的視窗。

public:
 int Run(System::Windows::Window ^ window);
[System.Security.SecurityCritical]
public int Run (System.Windows.Window window);
public int Run (System.Windows.Window window);
[<System.Security.SecurityCritical>]
member this.Run : System.Windows.Window -> int
member this.Run : System.Windows.Window -> int
Public Function Run (window As Window) As Integer

參數

window
Window

應用程式啟動時自動開啟的 Window

傳回

Int32 應用程式關閉時傳回至作業系統的應用程式結束代碼。 根據預設,結束代碼值為0。

屬性

例外狀況

Run() 是從瀏覽器裝載的應用程式呼叫的(例如 XAML 瀏覽器應用程式 (XBAP) )。

範例

下列範例顯示具有手動建立的靜態進入點方法,在呼叫 Run之前,先具現化 Application的應用程式。

using System;
using System.Windows;

namespace CSharp
{
    public class EntryPoint
    {
        // All WPF applications should execute on a single-threaded apartment (STA) thread
        [STAThread]
        public static void Main()
        {
            Application app = new Application();
            app.Run(new Window());
        }
    }
}

Imports System.Windows

Namespace VisualBasic
    Public Class EntryPoint
        ' All WPF applications should execute on a single-threaded apartment (STA) thread
        <STAThread()>
              Public Shared Sub Main()
            Dim app As New Application()
            app.Run(New Window())
        End Sub
    End Class
End Namespace

備註

此多載會擴充 Run 方法,以在應用程式開始執行之後開啟指定的視窗。

如果您定義在開始執行時開啟視窗的程式代碼 Application,則明確呼叫 Run

如果您使用標記或標記和程式代碼後置建立 Application,則可以使用下列任一技術自動開啟視窗:

  • 以宣告方式,方法是設定 StartupUri

  • 以程式設計方式處理 Startup

另請參閱

適用於

Run()

啟動 Windows Presentation Foundation 應用程式。

public:
 int Run();
public int Run ();
member this.Run : unit -> int
Public Function Run () As Integer

傳回

Int32 應用程式關閉時傳回至作業系統的應用程式結束代碼。 根據預設,結束代碼值為0。

例外狀況

Run() 是從瀏覽器裝載的應用程式呼叫的(例如 XAML 瀏覽器應用程式 (XBAP) )。

範例

下列範例顯示使用自訂 Application 的應用程式,因此必須明確地呼叫 Run

using System;
using System.Windows;

namespace CSharp
{
    public class EntryPoint1
    {
        // All WPF applications should execute on a single-threaded apartment (STA) thread
        [STAThread]
        public static void Main()
        {
            CustomApplication app = new CustomApplication();
            app.Run();
        }
    }

    public class CustomApplication : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            Window window = new Window();
            window.Show();
        }
    }
}

Imports System.Windows

Namespace VisualBasic
    Public Class EntryPoint
        ' All WPF applications should execute on a single-threaded apartment (STA) thread
        <STAThread()>
              Public Shared Sub Main()
            Dim app As New CustomApplication()
            app.Run()
        End Sub
    End Class

    Public Class CustomApplication
        Inherits Application
        Protected Overrides Sub OnStartup(ByVal e As StartupEventArgs)
            MyBase.OnStartup(e)

            Dim window As New Window()
            window.Show()
        End Sub
    End Class
End Namespace

備註

Run 呼叫 以啟動 WPF 應用程式。 如果您使用標記或標記和程式代碼後置來定義 Application,則會以隱含方式呼叫 Run。 不過,如果您使用程式代碼定義 Application,則必須明確呼叫 Run

呼叫 Run 時,Application 將新的 Dispatcher 實例附加至 UI 線程。 接下來,會呼叫 Dispatcher 物件的 Run 方法,這會啟動訊息幫浦來處理 Windows 訊息。 最後,Dispatcher 物件會呼叫 Application 物件的 OnStartup 方法,以引發 Startup 事件。 因此,當您處理 Startup時,已建立應用程式執行模型,此時應用程式會被視為正在執行。

呼叫 Shutdown 時,應用程式會停止執行;ShutdownMode 屬性的值會決定何時呼叫 Shutdown,以及它是否自動發生,或您需要明確呼叫它。

Run 只能從建立 Application 對象的線程呼叫。 此外,無法從 XBAP 呼叫 Run

另請參閱

適用於