2. BlazorWindows и WebView2
Документация по BlazorWindows и WebView2
Что такое Blazor Windows и как они работают?
Во вводной части серии я рассказывал о Blazor, HTML и CSS. Но чтобы вся эта красота появилась на экране, нужен инструмент, который превращает наши скрипты и код в кнопки, формы и другие элементы интерфейса. Здесь и вступает в дело WebView2 — встраиваемый браузер от Microsoft.
.png)
WebView2 можно представить как часть приложения, которая отвечает за отрисовку наших компонентов.
BlazorWindows — это фреймворк, который связывает всё вместе: WebView, HTML, C# и CSS, позволяя создавать интерактивные окна. Именно эта технология используется в оверлеях и во многих частях EyeAuras.
Чем отличаются окна от оверлеев?
Оверлей — это разновидность окна: по сути это то же окно, но с другими параметрами отображения. Например, оверлей обычно рисуется поверх остальных окон.
В EyeAuras есть несколько типов оверлеев:

C# Overlay
Это один из основных способов быстро создавать интерфейсы в EyeAuras.
Идея простая:
- есть настроенное окно оверлея с позицией, именем и условием видимости. О содержимом — ниже.
- есть скрипт, написанный в EyeAuras, который описывает интерфейс с помощью Razor/HTML/CSS
- EyeAuras компилирует этот скрипт, и в результате мы получаем библиотеку, которая позволяет строить UI, отрисовываемый в оверлее через WebView2
Настройки оверлея
У каждого оверлея есть:
- позиция и размер, а также флаг, определяющий, может ли пользователь перемещать его (
IsLocked)

- настройки внешнего вида — прозрачность, толщина и цвет рамки и т. д.

- настройки окна

Самый важный переключатель здесь — тип окна: Overlay или Window.
- Window — почти обычное окно, только без кнопки закрытия. У него есть иконка, заголовок, его можно перетаскивать за title bar и т. д.
- Overlay — окно без рамки, без области перетаскивания и без системных кнопок.

C# Overlay v3
Текущая версия оверлеев, использующая scripting engine V3. Вам доступно всё, что есть в скриптах: пользовательские Razor-компоненты, интеграция с NuGet, сервисы EyeAuras и т. д. Каждый C# overlay — это небольшое приложение.

C# Overlay v2 (устарело)
Упомянем его только кратко, так как использовать его больше не рекомендуется. Он будет удалён в одной из будущих версий и сейчас существует только ради обратной совместимости, не давая никаких преимуществ по сравнению с современным V3.

Выглядит это так:
