AppWindow Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет управляемый системой контейнер для содержимого приложения.
public ref class AppWindow sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AppWindow final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AppWindow
Public NotInheritable Class AppWindow
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10, version 1903 (появилось в 10.0.18362.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v8.0)
|
Комментарии
Примечание
AppWindow сейчас находится на этапе предварительной версии. Это означает, что вы можете отправлять приложения, использующие AppWindow, в Store, но некоторые компоненты платформ не работают с AppWindow (см. раздел Ограничения).
AppWindow можно использовать для представления отображаемой части приложения среда выполнения Windows, если в нем есть несколько окон. Его принцип действия схож с ApplicationView, но поведение и время существования отличаются.
В отличие от ApplicationView, каждый AppWindow не имеет соответствующего CoreWindow. Все они используют один поток обработки пользовательского интерфейса (включая диспетчер событий), из которого они были созданы.
Чтобы получить объект этого типа, вызовите AppWindow.TryCreateAsync.
Чтобы подключить содержимое к AppWindow, вызовите ElementCompositionPreview.SetAppWindowContent.
Вы можете подключить к AppWindow только содержимое XAML. Собственное содержимое DirectX или Holographic не поддерживается.
Чтобы указать предпочтительный минимальный размер окна приложения, используйте метод WindowManagementPreview.SetPreferredMinSize .
Совет
Дополнительные сведения и код, демонстрирующий AppWindow, см. в разделах Отображение нескольких представлений для приложения и Отображение нескольких представлений с помощью AppWindow.
Пример использования API AppWindow можно найти в репозитории Универсальные примеры Windows на сайте GitHub в разделе Samples/AppWindow.
Ограничения
Ограничения в текущей предварительной версии AppWindow включают (это не исчерпывающий список):
- Любой API, использующий шаблон GetForCurrentView, не работает для AppWindow, так как CurrentView ссылается на ApplicationView, который является отдельной сущностью от AppWindow.
- Полноэкранное воспроизведение мультимедиа недоступно в MediaElement или MediaPlayerElement.
- MessageDialog не будет модальным для правильного окна. Рекомендуется использовать вместо него ContentDialog .
- WebView поддерживается не полностью. Вы можете использовать встроенное представление WebView, но все, что не входит в состав статического HTML-содержимого, может работать должным образом.
- Если задать свойство Window.Current.Content в XAML, оно уничтожает все содержимое XAML в AppWindow. Не используйте это в качестве шаблона для сброса содержимого при приостановке приложения, если вы используете AppWindow.
- Smooth Window Resize не работает для AppWindows. Размер фрейма и содержимого будет изменяться независимо друг от друга, что может выглядеть неположенным при медленном макете содержимого.
- DisplayInformation недоступен для AppWindow. Если appWindow находится на мониторе, отличном от монитора ApplicationView, вы не сможете запросить правильные сведения о отображении.
- UserInteractionMode нельзя задать для AppWindow.
- Диалоговые окна печати (2D и 3D) не будут родительскими для правильного окна.
- AppWindow не может определить, когда вызываются жесты ребер.
- AppWindow нельзя использовать для удовлетворения запроса активации через ActivationViewSwitcher.
Свойства
Content |
Возвращает содержимое приложения, прикрепленное к окну. |
DispatcherQueue |
Возвращает очередь диспетчера для окна приложения. |
Frame |
Возвращает кадр для окна приложения. |
IsVisible |
Возвращает значение, указывающее, может ли окно отображаться на экране. |
PersistedStateId |
Возвращает или задает строку, определяющую это окно для отслеживания и сохранения состояния. |
Presenter |
Возвращает докладчика для окна приложения. |
Title |
Возвращает или задает отображаемое название окна приложения. |
TitleBar |
Возвращает заголовок окна приложения. |
UIContext |
Возвращает контекст пользовательского интерфейса для окна приложения. |
WindowingEnvironment |
Возвращает среду окон для окна приложения. |
Методы
ClearAllPersistedState() |
Очищает все свойства, сохраненные системой для любого окна PersistedStateId для данного приложения. |
ClearPersistedState(String) |
Очищает все свойства, сохраненные системой для окна, с указанным идентификатором для данного приложения. |
CloseAsync() |
Закрывает окно приложения. |
GetDisplayRegions() |
Возвращает коллекцию областей отображения, доступных для окна приложения. |
GetPlacement() |
Возвращает объект размещения, описывающий область отображения, смещение и размер окна приложения. |
RequestMoveAdjacentToCurrentView() |
Выполняет запрос на размещение окна рядом с текущим представлением. |
RequestMoveAdjacentToWindow(AppWindow) |
Выполняет запрос на размещение окна рядом с указанным окном привязки. |
RequestMoveRelativeToCurrentViewContent(Point) |
Выполняет запрос на размещение окна по указанному смещению относительно текущего представления. |
RequestMoveRelativeToDisplayRegion(DisplayRegion, Point) |
Выполняет запрос на размещение окна в указанной области отображения с указанным смещением. |
RequestMoveRelativeToWindowContent(AppWindow, Point) |
Выполняет запрос на размещение окна по указанному смещению относительно окна привязки. |
RequestMoveToDisplayRegion(DisplayRegion) |
Выполняет запрос на размещение окна в указанной области отображения. |
RequestSize(Size) |
Выполняет запрос на присвоение окну указанного размера. |
TryCreateAsync() |
Пытается асинхронно создать новый экземпляр AppWindow. |
TryShowAsync() |
Пытается асинхронно отобразить текущее окно приложения. |
События
Changed |
Происходит при изменении свойства окна приложения. |
Closed |
Происходит при закрытии окна приложения. |
CloseRequested |
Происходит после того, как окно начинает закрываться, но до его закрытия и до возникновения события Closed. |