語言

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
屬性

範例

Onlaunch(啟動)

以下程式碼範例展示了 Microsoft Visual Studio 中 WinUI 桌面模板所產生的 OnLaunched 方法覆寫。 此程式碼展示了 Activate 方法在 上的 Window典型使用。

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

private Window m_window;

建立新視窗

在你的應用程式中,你可以明確建立每個視窗。 建立多個視窗需要更新 Windows 應用程式 SDK 的 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();
  }
}

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

備註

欲了解更多資訊與範例,請參閱 WinUI 與 Windows 應用程式 SDK 的視窗化概覽。

通常 是Window用來將 UIElement 設定為代表應用程式 UI 的內容。 這通常是在應用程式啟用時完成的(例如在 OnLaunched 覆寫中),讓你在視窗的整個生命週期內都能更改視窗內容。

務必在初次啟用時呼叫啟用Window。 如果你使用 Microsoft Visual Studio 的預設應用程式範本,Window.Activate 會包含在App.xaml程式碼背後的檔案中。

你可以在應用程式中每個線程建立多個 Window 。 請參考 「顯示您的應用程式的多個視窗」。

Window 實作 IWindowNative ,透過視窗的 HWND(視窗Handle)實現互通。

建構函式

名稱 Description
Window()

初始化一個新的 視窗 類別實例。

屬性

名稱 Description
AppWindow

會和 AppWindow 這個 XAML Window有關。

Bounds

取得一個 Rect 值,包含應用程式視窗的高度與寬度,以有效(視圖)像素為單位。

Compositor

這個窗戶會用 合成器 。

Content

取得或設定應用程式視窗的視覺根節點。

CoreWindow

[已棄用]總是會回來 null。

Current

一律傳回 null。

Dispatcher

[已棄用]總是會回來 null。

DispatcherQueue

取得 DispatcherQueue 窗戶的物件。

ExtendsContentIntoTitleBar

取得或設定一個值,指定視窗預設標題列是否應該隱藏,以騰出空間給應用程式內容。

Height

代表當前 應用程式的視窗。

MaxHeight

代表當前 應用程式的視窗。

MaxWidth

代表當前 應用程式的視窗。

MinHeight

代表當前 應用程式的視窗。

MinWidth

代表當前 應用程式的視窗。

SystemBackdrop

取得或設定系統背景以適用於此 Window。 背景是呈現在內容背後 Window 。

Title

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

Visible

會得到一個值來報告視窗是否可見。

Width

代表當前 應用程式的視窗。

方法

名稱 Description
Activate()

嘗試透過將應用程式視窗移到前景並設定輸入焦點來啟動。

Close()

關閉(銷毀)應用程式視窗。

SetTitleBar(UIElement)

當 ExtendsContentIntoTitleBar 為 true時,能啟用 XAML 元素的標題列行為。

事件

名稱 Description
Activated

當視窗成功啟用或停用時,會發生這種情況。

Closed

當視窗關閉時發生。

SizeChanged

當視窗的渲染大小改變時,會發生這種情況。

VisibilityChanged

當 可見 財產的價值改變時,會發生這種情況。

適用於

另請參閱