Window Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents the window of the current Application.
/// [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
- Inheritance
- Attributes
Examples
OnLaunched
The following code example shows the OnLaunched method override generated for the WinUI in Desktop template in Microsoft Visual Studio. This code demonstrates typical usage of the Activate method on Window
.
protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args)
{
m_window = new MainWindow();
m_window.Activate();
}
private Window m_window;
Create a new Window
In your apps you can create each Window explicitly. Creating more than one Window requires the 1.0.1 update to WindowsAppSDK, and is limited to a single thread.
var window = new Window();
window.Content = new TextBlock() { Text = "Hello" };
window.Activate();
You can also define a new Window in markup:
<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>
with corresponding code-behind:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
...
var window = new MainWindow();
window.Activate();
Remarks
You can create more than one Window
per thread in your apps. See Create a new Window in Examples.
Window
implements IWindowNative to enable interop through the Window's HWND (WindowHandle).
Typically, Window
is used to set a UIElement to the Content that represents the app UI. This is usually done as part of app activation (for example in the OnLaunched override) and allows you to change the window content throughout the lifetime of the window.
Ensure you call Activate on any Window
used on initial activation. If you use the default app templates from Microsoft Visual Studio, Window.Activate is included in the App.xaml code-behind file.
Constructors
Window() |
Initializes a new instance of the Window class. |
Properties
AppWindow |
Gets the |
Bounds |
Gets a Rect value containing the height and width of the application window in units of effective (view) pixels. |
Compositor |
Gets the Compositor for this window. |
Content |
Gets or sets the visual root of an application window. |
CoreWindow |
Desktop apps always return |
Current |
Desktop apps always return |
Dispatcher |
Always returns Note
|
DispatcherQueue |
Gets the |
ExtendsContentIntoTitleBar |
Gets or sets a value that specifies whether the default title bar of the window should be hidden to create space for app content. |
SystemBackdrop |
Gets or sets the system backdrop to apply to this |
Title |
Gets or sets a string used for the window title. |
Visible |
Gets a value that reports whether the window is visible. |
Methods
Activate() |
Attempts to activate the application window by bringing it to the foreground and setting the input focus to it. |
Close() |
Closes the application window. |
SetTitleBar(UIElement) |
Enables title bar behavior on a XAML element when |
Events
Activated |
Occurs when the window has successfully been activated. |
Closed |
Occurs when the window has closed. |
SizeChanged |
Occurs when the app window has first rendered or has changed its rendering size. |
VisibilityChanged |
Occurs when the value of the Visible property changes. |