Добавлен проект UI
This commit is contained in:
56
Lattice.UI/README.md
Normal file
56
Lattice.UI/README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# Lattice.UI
|
||||
|
||||
[](#)
|
||||
[](git.frigat.duckdns.org)
|
||||
[](#)
|
||||
|
||||
**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`).
|
||||
|
||||
## 📦 Установка и настройка
|
||||
|
||||
1. Добавьте ссылку на проект `Lattice.UI` в ваше решение.
|
||||
2. В файле `App.xaml` вашего приложения подключите стили библиотеки:
|
||||
|
||||
```xml
|
||||
<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
|
||||
Reference in New Issue
Block a user