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
Наследование
Object Platform::Object IInspectable 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.

Применяется к