Lattice.UI
Lattice.UI — это библиотека нативных элементов управления WinUI 3, реализующая сложную систему докинга и управления окнами в стиле Visual Studio 2026. Она визуализирует абстрактное дерево компоновки из Lattice.Core и обеспечивает плавное взаимодействие пользователя с интерфейсом.
✨ Основные компоненты
- LatticeDockHost: Корневой оркестратор, управляющий слоями контента и визуальными подсказками докинга.
- LatticePane: Универсальный контейнер для панелей и документов с поддержкой заголовков, контекстных кнопок и закрытия.
- LatticeSplitter: Тонкий интерактивный разделитель для динамического изменения размеров областей.
- DockAnchorOverlay: Система визуальных подсказок («ромб» докинга) и превью зон сброса (Drop Zones).
- LatticeContextualToolbar: Адаптивная панель инструментов, автоматически меняющая набор кнопок при смене фокуса между вкладками.
🛠 Технологии
- Windows App SDK 1.8+: Использование последних достижений WinUI 3.
- Fluent UI 2: Дизайн, полностью соответствующий стандартам Windows 11 (Mica Alt, закругления 4-8px, Segoe Fluent Icons).
- Design Tokens: Полная темизация через систему ресурсов (
SharedResources.xaml).
📦 Установка и настройка
- Добавьте ссылку на проект
Lattice.UIв ваше решение. - В файле
App.xamlвашего приложения подключите стили библиотеки:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ms-appx:///Lattice.UI/Themes/Generic.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
🚀 Быстрый старт (XAML)
<Window
xmlns:lattice="using:Lattice.UI.Controls">
<lattice:LatticeDockHost x:Name="MainHost"
Manager="{x:Bind ViewModel.LayoutManager}" />
</Window>
📐 Математика докинга
- Библиотека использует алгоритм «Конверта» для расчета зон приземления:
- Центр: Объединение в группу вкладок.
- Края (L/R/T/B): Разделение текущей области на две части в соответствующей ориентации.
🔗 Ссылки
- Core Engine: Lattice.Core
- Репозиторий: git.frigat.duckdns.org
- Разработчик: FrigaT