класс 0.9.515-Microsoft. Web. WebView2. Core. CoreWebView2Controller

Примечание

Эта ссылка больше не поддерживается. Последнюю справку по API можно найти в справочнике по API WebView2.

Пространство имен: Microsoft. Web. WebView2. Core
Сборка: Microsoft.Web.WebView2.Core.dll

Этот класс является владельцем объекта CoreWebView2 и предоставляет поддержку для изменения размеров, отображения и скрытия, фокусировки и других функциональных возможностей, связанных с окнами и композицией.

Краткий обзор

Участников Описания
AcceleratorKeyPressed AcceleratorKeyPressed активируется при нажатии или отпускании клавиши сочетания клавиш в том случае, если WebView имеет фокус.
Границ Границы WebView.
CoreWebView2 Возвращает CoreWebView2, связанный с этим CoreWebView2Controller.
GotFocus Получение фокуса срабатывает, когда WebView получил фокусировку.
IsVisible Свойство Visible определяет, нужно ли отображать или скрывать WebView.
LostFocus LostFocus вызывается, когда WebView теряет фокус.
MoveFocusRequested MoveFocusRequested активируется, когда пользователь пытается выполнить переход из WebView.
ParentWindow Родительское окно, предоставленное приложением, используемое этим WebView, для отрисовки содержимого.
ZoomFactor Коэффициент масштабирования для WebView.
ZoomFactorChanged Событие срабатывает, когда изменяется свойство ZoomFactor объекта WebView.
Close (закрыть) Закрывает WebView и очищает основной экземпляр браузера.
MoveFocus Перемещение фокуса в WebView.
NotifyParentWindowPositionChanged Это уведомление отделено от границ, которые сообщают WebView, что родительский HWND (или любой предк) переместился.
SetBoundsAndZoomFactor Одновременное обновление границ и свойств ZoomFactor.

CoreWebView2Controller владеет CoreWebView2 и, если все ссылки на CoreWebView2Controller выходит из него, WebView будет закрыт.

Участников

AcceleratorKeyPressed

AcceleratorKeyPressed активируется при нажатии или отпускании клавиши сочетания клавиш в том случае, если WebView имеет фокус.

событие EventHandler< CoreWebView2AcceleratorKeyPressedEventArgs > AcceleratorKeyPressed

AcceleratorKeyPressed активируется при нажатии или отпускании клавиши сочетания клавиш в том случае, если WebView имеет фокус. Клавиша считается ускорителем по одной из следующих способов:

  1. В данный момент удерживается клавиша CTRL или ALT;

  2. Нажатая клавиша не сопоставляется с символом. Некоторые неопределенные клавиши никогда не рассматриваются как ускорители, например Shift. Клавиша ESC всегда считается ускорителем.

Событие с автоматическим нажатием клавиши, вызванное удерживанием нажатой клавиши, также срабатывает. Чтобы отфильтровать эти данные, Проверьте аргументы события "KeyEventLParam" или "PhysicalKeyStatus".

В оконном режиме этот обработчик событий вызывается синхронно. До тех пор пока вы не вызываете Handle () для аргументов события или не будет возвращен обработчик событий, процесс браузера будет заблокирован и исходящие межпроцессные вызовы COM не будут работать с RPC_E_CANTCALLOUT_ININPUTSYNCCALL. Однако все методы API CoreWebView2 будут работать.

В режиме безоконный обработчик событий вызывается асинхронно. Дальнейшие входные данные не доходят до браузера, пока обработчик событий не возвратит или не завершит вызов (), но сам процесс браузера не будет заблокирован, а исходящие вызовы COM будут работать нормально.

Рекомендуется, чтобы вы могли узнать, что вы хотите обрабатывать клавишу быстрого вызова (TRUE), как и раньше.

Границ

Границы WebView.

границы открытых Rect

Границы задаются относительно родительского дескриптора HWND. Приложение может располагать WebView двумя способами:

  1. Создание дочернего HWND, который является родительским дескриптором HWND WebView. Расположите это окно в том месте, где должен быть WebView. В этом случае используйте (0, 0) для левого верхнего угла WebView Bound's (сдвиг).

  2. Используйте окно самого высокого приложения в качестве родительского HWND WebView. Задайте Bound's левый верхний угол WebView, чтобы WebView правильно расположиться в приложении. Значения границ находятся в пространстве координат основного приложения.

CoreWebView2

Возвращает CoreWebView2, связанный с этим CoreWebView2Controller.

общедоступная CoreWebView2 CoreWebView2

GotFocus

Получение фокуса срабатывает, когда WebView получил фокусировку.

событие EventHandler<, > Получение фокуса на объект

IsVisible

Свойство Visible определяет, нужно ли отображать или скрывать WebView.

Открытый bool Visible

Если для свойства Visible задано значение false, WebView будет прозрачным и не будет обрабатываться. Однако это не повлияет на окно, содержащее WebView (параметр HWND, переданный в CreateCoreWebView2Controller). Если вы хотите, чтобы окно не исчезало, вызовите для него функцию ShowWindow прямо в дополнение к изменению свойства Visible. WebView — это дочернее окно не получает оконные сообщения, когда окно свертывания или восстановления находится в верхней части окна. Для повышения производительности разработчик должен установить для свойства WebView значение false, если окно приложения свернуто, и вернуть значение true при восстановлении окна приложения. Это можно сделать, обрабатывая команды SC_MINIMIZE и SC_RESTORE при получении WM_SYSCOMMAND сообщения.

LostFocus

LostFocus вызывается, когда WebView теряет фокус.

событие EventHandler,<, объект > LostFocus

В случае, если возникает событие MoveFocusRequested, фокус по-прежнему находится в WebView при срабатывании события MoveFocusRequested. Потерянный фокус срабатывает только в том случае, если код приложения или действие по умолчанию, заданное MoveFocusRequested события, задали фокус от WebView.

MoveFocusRequested

MoveFocusRequested активируется, когда пользователь пытается выполнить переход из WebView.

событие EventHandler< CoreWebView2MoveFocusRequestedEventArgs > MoveFocusRequested

При срабатывании этого события фокус WebView не изменился.

ParentWindow

Родительское окно, предоставленное приложением, используемое этим WebView, для отрисовки содержимого.

Public IntPtr ParentWindow

Если задать значение свойства, WebView будет перестать родительским окном в новом окне.

ZoomFactor

Коэффициент масштабирования для WebView.

общедоступная двойная ZoomFactor

Обратите внимание, что изменение коэффициента масштабирования может привести к window.innerWidth/innerHeight изменению масштаба страницы. Коэффициент масштабирования, примененный ведущим приложением путем вызова ZoomFactor, становится новым масштабом по умолчанию для WebView. Этот коэффициент масштабирования применяется для всех переходов и — коэффициент масштабирования WebView возвращается, когда пользователь нажимает клавиши CTRL + 0. При изменении коэффициента масштабирования пользователем (в результате использования приложения, получающего ZoomFactorChanged) это масштабирование применяется только к текущей странице. Любой пользователь, который применяет масштабирование, используется только для текущей страницы и сбрасывается на панели навигации. Указывать zoomFactor меньше или равно 0 не разрешается. WebView также имеет внутренний поддерживаемый диапазон коэффициента масштабирования. Если указанный коэффициент масштаба выходит за пределы этого диапазона, он будет нормализован в пределах диапазона, а событие ZoomFactorChanged будет инициировано для фактического коэффициента масштабирования. При выполнении этой нормализации диапазона свойство ZoomFactor будет указывать коэффициент масштабирования, указанный в предыдущем изменении свойства ZoomFactor, пока событие ZoomFactorChanged не будет получено после WebView применяет нормализованный коэффициент масштабирования.

ZoomFactorChanged

Событие срабатывает, когда изменяется свойство ZoomFactor объекта WebView.

событие EventHandler< объект > ZoomFactorChanged

Событие может срабатывать из-за того, что вызывающий объект изменил свойство ZoomFactor или пользователь вручную изменял масштаб. При изменении вызывающим абонентом с помощью свойства ZoomFactor внутренний коэффициент масштабирования немедленно обновляется, и событие ZoomFactorChanged не выводится. WebView связывает последний использованный коэффициент масштабирования для каждого сайта. Поэтому коэффициент масштабирования может изменяться при переходе на другую страницу. При изменении коэффициента масштабирования из-за этого событие ZoomFactorChanged срабатывает сразу после события ContentLoading.

Close (закрыть)

Закрывает WebView и очищает основной экземпляр браузера.

общедоступное закрытиеvoid ()

Очистка экземпляра браузера приведет к освобождению ресурсов, WebView в сети. Экземпляр браузера будет закрыт, если он не используется другими веб – представлениями.

После вызова метода Close все вызовы методов завершатся сбоем, и обработчики событий прекратятся. В частности, WebView будет освобождать ссылки на обработчики событий при вызове Close.

Метод Close вызывается неявно, когда CoreWebView2Controller теряет свою конечную ссылку и является независимым. Но рекомендуется явным образом вызывать метод Close, чтобы избежать случайного цикла ссылок между WebView и кодом приложения. В частности, если вы захватываете ссылку на WebView в обработчике событий, вы создадите цикл ссылки между WebView и обработчиком событий. Вызов Close приведет к прерыванию этого цикла, освобождая все обработчики событий. Но чтобы избежать такой ситуации, рекомендуется как явным образом вызвать метод Close для WebView и не захватить ссылку на WebView, чтобы убедиться, что WebView может быть корректно очищено.

MoveFocus

Перемещение фокуса в WebView.

общедоступная void MoveFocus(причинаCoreWebView2MoveFocusReason )

WebView получит фокус, и фокус будет установлен на элемент корреспондента на странице, которая размещена в WebView. В целях программной причины фокус установлен на ранее сфокусированный элемент или элемент по умолчанию, если нет ранее фокусируемого элемента. В следующей причине фокус задается для первого элемента. По этой причине фокус установлен на последний элемент. WebView также может сосредоточиться на взаимодействии с пользователем, например, щелкнув на WebView или TAB. Для табуляции приложение может вызвать MoveFocus с помощью кнопки Далее или назад, чтобы выровнять элементы Tab и SHIFT + TAB, если это необходимо, если WebView является следующим элементом с вкладками. Кроме того, приложение может вызвать IsDialogMessage как часть цикла обработки сообщений, чтобы платформа автоматически обрабатывала табуляцию. Платформа будет повернута на все окна с помощью WS_TABSTOP. Когда WebView получает фокус из IsDialogMessage, он будет внутренне размещать фокус на первом или последнем элементе Tab и Shift + Tab соответственно.

NotifyParentWindowPositionChanged

Это уведомление отделено от границ, которые сообщают WebView, что родительский HWND (или любой предк) переместился.

общедоступная void NotifyParentWindowPositionChanged()

Это необходимо для правильной работы специальных возможностей и некоторых диалоговых окон в WebView.

SetBoundsAndZoomFactor

Одновременное обновление границ и свойств ZoomFactor.

Public void SetBoundsAndZoomFactor(границы Rect, Double ZoomFactor)

Эта операция является атомарной с точки зрения хоста. После того как вы вернете эту функцию, свойства Bounds и ZoomFactor будут обновлены при успешном выполнении функции, или ни один из них не будет обновляться при сбое функции. Если границы и ZoomFactor обновляются одним масштабом (то есть границы и ZoomFactor оба двойных), то страница не будет видеть изменение в Window. innerWidth/innerHeight, а WebView будет отображать содержимое на новом размере и масштабе без промежуточных преобразований. Эта функция также может использоваться для обновления только одного из ZoomFactor или границ путем передачи нового значения для одного и текущего значения другого.