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
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
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:
最后更新于