Application.Run 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
启动 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
参数
返回
应用程序关闭时返回给操作系统的 Int32 应用程序退出代码。 默认情况下,退出代码值为 0。
- 属性
例外
从浏览器托管的应用程序(例如 XAML 浏览器应用程序(XBAP)调用 Run()。
示例
以下示例演示了一个应用程序,其中包含一个手动创建的静态入口点方法,该方法在调用 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。
例外
从浏览器托管的应用程序(例如 XAML 浏览器应用程序(XBAP)调用 Run()。
示例
以下示例演示使用自定义 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,以及它是自动发生的还是需要显式调用它。
只能从创建 Application 对象的线程调用 Run。 此外,无法从 XBAP 调用 Run。