Window 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
/// [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
- 繼承
- 屬性
範例
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 |
會和 |
| Bounds |
取得一個 Rect 值,包含應用程式視窗的高度與寬度,以有效(視圖)像素為單位。 |
| Compositor |
這個窗戶會用 合成器 。 |
| Content |
取得或設定應用程式視窗的視覺根節點。 |
| CoreWindow |
[已棄用]總是會回來 |
| Current |
一律傳回 |
| Dispatcher |
[已棄用]總是會回來 |
| DispatcherQueue |
取得 |
| ExtendsContentIntoTitleBar |
取得或設定一個值,指定視窗預設標題列是否應該隱藏,以騰出空間給應用程式內容。 |
| Height |
代表當前 應用程式的視窗。 |
| MaxHeight |
代表當前 應用程式的視窗。 |
| MaxWidth |
代表當前 應用程式的視窗。 |
| MinHeight |
代表當前 應用程式的視窗。 |
| MinWidth |
代表當前 應用程式的視窗。 |
| SystemBackdrop |
取得或設定系統背景以適用於此 |
| Title |
取得或設定用於視窗標題的字串。 |
| Visible |
會得到一個值來報告視窗是否可見。 |
| Width |
代表當前 應用程式的視窗。 |
方法
| 名稱 | Description |
|---|---|
| Activate() |
嘗試透過將應用程式視窗移到前景並設定輸入焦點來啟動。 |
| Close() |
關閉(銷毀)應用程式視窗。 |
| SetTitleBar(UIElement) |
當 |
事件
| 名稱 | Description |
|---|---|
| Activated |
當視窗成功啟用或停用時,會發生這種情況。 |
| Closed |
當視窗關閉時發生。 |
| SizeChanged |
當視窗的渲染大小改變時,會發生這種情況。 |
| VisibilityChanged |
當 可見 財產的價值改變時,會發生這種情況。 |