ControlzEx

Бесплатно
Открытый исходный код
Windows

Сайт: github.com/ControlzEx/ControlzEx

ControlzEx — библиотека расширенных компонентов и утилит для приложений на базе Windows Presentation Foundation (WPF). Она предоставляет набор вспомогательных контролов, реализаций хрома окна, менеджеров тем и инфраструктуры для более гибкой настройки внешнего вида и поведения оконных элементов в приложениях .NET. Проект развивается как дополнение к существующим наборам компонентов и предназначен для упрощения задач, связанных с кастомизацией заголовков окон, поддержкой темизации и добавлением удобных вспомогательных API для работы с окнами и визуальными элементами.

Исторически ControlzEx формировалась как коллекция практических решений, востребованных разработчиками WPF при создании современных интерфейсов с нестандартным оформлением. В её состав входят модули для замены стандартного хрома окна, управления состоянием окон, полноценной интеграции с системными возможностями (перетаскивание, оформление кнопок управления окном, реакции на изменение DPI и состояния), а также механизмы для централизованной загрузки и переключения тем. Документация и примеры использования ориентированы на интеграцию с другими UI-библиотеками и облегчение миграции существующих приложений на кастомный интерфейс.

  • Пользовательский хром окна: замена стандартной рамки и заголовка окна, поддержка кастомных кнопок управления (свернуть, развернуть, закрыть), оформление и обработка перетаскивания заголовка.
  • Менеджер тем: механизм загрузки, применения и переключения визуальных тем в рантайме, поддержка ресурсных словарей и наследования стилей.
  • Поддержка DPI и масштабирования: адаптация размеров и расположения элементов при изменении системного масштабирования и разрешения экрана.
  • Управление состояниями окна: удобные API для состояния свернутости, развёрнутости, блокировки размера и привязки поведения к состоянию окна.
  • Вспомогательные контролы: набор дополнительных пользовательских элементов управления и утилит для упрощения внедрения единообразного интерфейса.
  • Интеграция с другими библиотеками: проект ориентирован на совместное использование с популярными WPF-фреймворками и наборами контролов, обеспечивая гибкость и расширяемость.
  • Событийная модель и расширения: события и команды для перехвата системных событий окна и расширяемая архитектура для добавления новых обработчиков и поведения.
  • Кросс-платформенные ограничения: реализует функции, зависящие от платформы Windows; при отсутствии официальной информации некоторые детали могут отличаться в разных версиях.
Подробнее