Window
Window
is a top-level ContentControl
.
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 quickstart.
Common Properties
Property | Description |
---|---|
| The window title |
| The window icon |
| Describes the window's auto-sizing behavior |
| The minimized/maximized state of the window |
Reference
Source code
The main window
The main window is the window passed to ApplicationLifetime.MainWindow
in the OnFrameworkInitializationCompleted
method of your your App.axaml.cs
file:
It can be retrieved at any time by casting Application.ApplicationLifetime
IClassicDesktopStyleApplicationLifetime.
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 closing
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:
最后更新于