github编辑

Window

Windowarrow-up-right is a top-level ContentControlarrow-up-right.

You will not usually create instances of the Window class directly; instead the Window class is usually sub-classed for each type of window to be shown by an application. For information on how to create new window classes from templates see the quickstartarrow-up-right.

Common Properties

Property
Description

Title

The window title

Icon

The window icon

SizeToContent

Describes the window's auto-sizing behavior

WindowState

The minimized/maximized state of the window

Reference

Windowarrow-up-right

Source code

Window.csarrow-up-right

The main window

The main window is the window passed to ApplicationLifetime.MainWindow in the OnFrameworkInitializationCompleted method of your your App.axaml.cs file:

public override void OnFrameworkInitializationCompleted()
{
    if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktopLifetime)
    {
        desktopLifetime.MainWindow = new MainWindow();
    }
}

It can be retrieved at any time by casting Application.ApplicationLifetime IClassicDesktopStyleApplicationLifetime.

circle-info

Mobile and browser platforms don't have a concept of Window in Avalonia. Instead you need to set MainView control in Application.ApplicationLifetime when it implements ISingleViewApplicationLifetime interface.

Show, hide and close a window

You can show a window using the Show method:

Windows can be closed using the Close method. This has the same effect as when a user clicks the window's close button:

Note that once a window has been closed, it cannot be shown again. If you want to re-show the window then you should use the Hide method:

See also Prevent a window from closingarrow-up-right

Show a window as a dialog

You can show a window as a modal dialog by calling the ShowDialog method. ShowDialog requires an owner window to be passed:

The ShowDialog method will return immediately. If you want to wait for the dialog to be closed, you can await the call:

Dialogs can return a result by calling the Close method with an object. This result can then be read by the caller of ShowDialog. For example:

Prevent a window from closing

A window can be prevented from closing by handling the Closing event and setting e.Cancel = true:

You could also hide the window instead. This allows the window to be re-shown after the user clicks the close button:

最后更新于

这有帮助吗?