Window 类

定义

表示应用程序窗口。

public ref class Window sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Window final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Window
Public NotInheritable Class Window
继承
Object Platform::Object IInspectable Window
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

示例

下面的代码示例演示为 Microsoft Visual Studio 中的空白应用程序模板生成的 OnLaunched 方法替代。 此代码演示 CurrentContent 属性以及 Activate 方法的典型使用模式。

protected override void OnLaunched(LaunchActivatedEventArgs args)
{
    // Create a Frame to act navigation context and navigate to the first page
    var rootFrame = new Frame();
    rootFrame.Navigate(typeof(BlankPage));

    // Place the frame in the current Window and ensure that it is active
    Window.Current.Content = rootFrame;
    Window.Current.Activate();
}
Protected Overrides Sub OnLaunched(args As 
    Windows.ApplicationModel.Activation.LaunchActivatedEventArgs)

    ' Create a Frame to act navigation context and navigate to the first page
    Dim rootFrame As New Frame()
    rootFrame.Navigate(GetType(BlankPage))

    ' Place the frame in the current Window and ensure that it is active
    Window.Current.Content = rootFrame
    Window.Current.Activate()
End Sub

注解

此类表示当前 应用程序的窗口。 静态 Current 属性将以与静态 Application 属性相同的方式返回应用窗口对象。 从此对象中,应用可以利用 调度程序 或通过 Bounds 属性确定窗口的大小。 Window 最常见的用法是将 UIElement 设置为代表应用 UI 的内容 。 这通常作为应用激活 (的一部分来完成,例如 OnLaunched override.) 可以在窗口的整个生存期内更改此窗口内容。

Window 类没有 XAML 表示形式,因为它不是控件。

Window 对象只是显示 来自 CoreWindow 的信息,而 CoreWindow 又引用系统创建的窗口。

请确保在初始 激活 时使用的任何 Window 上调用 Activate。 如果使用 Microsoft Visual Studio 中的默认应用模板,则调用 Window.Activate 是 app.xaml 代码隐藏文件中初始代码的一部分。

属于 Microsoft Visual Studio 中某些应用程序模板的 LayoutAwarePage 类具有 SizeChanged 事件的处理,该事件用于跟踪与 ApplicationViewState 值匹配的视觉状态。 LayoutAwarePage 还有一些代码,用于检查 边界 ,并使用此值来影响如何处理页面范围的输入事件。

版本历史记录

Windows 版本 SDK 版本 已添加值
1703 15063 Compositor
1903 18362 UIContext

其他接口成员

IXamlSourceTransparency.IsBackgroundTransparent获取或设置一个值,该值指定当前线程上所有 DesktopWindowXamlSource 对象的背景是否透明。

属性

Bounds

获取一个 Rect 值,该值包含窗口工作区的原点、高度和宽度,以与设备无关的像素 (DIP) 。

Compositor

获取此窗口的 Compositor

Content

获取或设置应用程序窗口的可视根。

CoreWindow

获取应用程序窗口的内部 核心 对象。

Current

获取当前线程的窗口。

Dispatcher

获取 WindowCoreDispatcher 对象,该对象通常是 UI 线程的 CoreDispatcher 对象。

UIContext

获取窗口的上下文标识符。

Visible

获取一个值,该值报告窗口是否可见。

方法

Activate()

尝试通过将应用程序窗口置于前台并为其设置输入焦点来激活它。

Close()

关闭应用程序窗口。

SetTitleBar(UIElement)

使 XAML 元素与系统交互,就像它是标题栏一样。

事件

Activated

成功激活窗口时发生。

Closed

在窗口关闭时发生。

SizeChanged

当应用窗口首次呈现或更改其呈现大小时发生。

VisibilityChanged

Visible 属性的值更改时发生。

适用于

另请参阅