Window 類別

定義

表示目前 應用程式的視窗。

/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Window
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Window
Public Class Window
繼承
Object IInspectable Window
屬性

範例

OnLaunched

下列程式代碼範例顯示 Microsoft Visual Studio 中桌面範本中 WinUI 產生的 OnLaunched 方法覆寫。 此程式代碼示範 On 上 WindowActivate 方法的一般用法。

protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args)
{
    m_window = new MainWindow();
    m_window.Activate();
}

private Window m_window;

建立新的視窗

在您的應用程式中,您可以明確地建立每個視窗。 建立多個 Window 需要 WindowsAppSDK 的 1.0.1 更新,而且僅限於單一線程。

var window = new Window();
window.Content = new TextBlock() { Text = "Hello" };
window.Activate();

您也可以在標記中定義新的視窗:

<Window 
    x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <TextBlock>Hello</TextBlock>
</Window>

具有對應的程式代碼後置:

public partial class MainWindow : Window
{
  public MainWindow()
  {
    InitializeComponent();
  }
}

...
var window = new MainWindow();
window.Activate();

備註

您可以在應用程式中建立一個 Window 以上的線程。 請參閱在範例建立新的視窗

Window 會實作 IWindowNative ,以透過視窗的 HWND (WindowHandle) 啟用 Interop。

一般而言, Window 是用來將 UIElement 設定為代表應用程式UI 的內容 。 這通常是在應用程式啟用過程中完成 (,例如 OnLaunched 覆寫) ,並可讓您在整個視窗的存留期內變更窗口內容。

請確定您在初始啟用時所使用的任何Window上呼叫 Activate。 如果您使用 Microsoft Visual Studio 的預設應用程式範本,則 App.xaml 程式代碼後置檔案中會包含 Window.Activate

建構函式

Window()

初始化 Window 類別的新實例。

屬性

AppWindow

AppWindow取得與此 XAML Window相關聯的 。

Bounds

取得 Rect 值,其中包含應用程式視窗的高度和寬度,以有效 (檢視) 像素為單位。

Compositor

取得這個視窗的 Compositor

Content

取得或設定應用程式視窗的視覺根目錄。

CoreWindow

傳統型應用程式一律會傳回 null 此屬性。

Current

傳統型應用程式一律會傳回 null 此屬性。

Dispatcher

一律會在 null Windows 應用程式 SDK 應用程式中傳回。

注意

Window.Dispatcher 未來版本可能會改變或無法使用。 請改用 Window.DispatcherQueue

DispatcherQueue

DispatcherQueue取得窗口的物件。

ExtendsContentIntoTitleBar

取得或設定值,指定是否應該隱藏視窗的預設標題列,以建立應用程式內容的空間。

SystemBackdrop

取得或設定要套用至這個 Window的系統基底。 內容後方會轉譯背景。Window

Title

取得或設定用於視窗標題的字串。

Visible

取得值,這個值會報告視窗是否可見。

方法

Activate()

嘗試將應用程式視窗帶入前景,並將輸入焦點設定為它來啟動應用程式視窗。

Close()

關閉應用程式視窗。

SetTitleBar(UIElement)

當 為 trueExtendsContentIntoTitleBar,在 XAML 元素上啟用標題列行為。

事件

Activated

當視窗成功啟動時發生。

Closed

當視窗關閉時發生。

SizeChanged

發生於應用程式視窗第一次轉譯或變更其轉譯大小時。

VisibilityChanged

發生於 Visible 屬性的值變更時。

適用於

另請參閱