Различия CustomControls и UserControls в WPF

wpf controls

WPF имеет 2 подхода к созданию собственных контролов: CustomControl'ы и UserControl'ы. В этой статье я попытаюсь привести список характеристик для каждого из подходов чтобы помочь Вам сделать правильный выбор для Вашего проекта.

UserControl - композиция

  • Представляет собой композицию существующих контролов в группу для облегчения повторного использования.
  • Содержит XAML и C#-код.
  • Не может менять внешний вид с помощью стилей и шаблонов.
  • Наследуется от UserControl

UserControl

Это пример RGB контрола для отображения цвета. XAML код содержит композицию 3 текстовых полей и поля для отображения цвета. Вся логика работы контрола содержится в CS файле.

CustomControl - расширение существующих контролов

  • Расширяет функционал существующих контролов.
  • Содержит файл кода и стиль по умолчанию, определенный в файле Themes/Generic.xaml.
  • Может быть стилизован произвольным образом.
  • Рекомендованый подход для построения библиотеки компонент.

CustomControl

Пример контрола (для выбора числа) с кнопками вверх/вниз. Это расширение обычного текстового поля. Внешний вид может быть легко изменен, если понадобится, например, отображать кнопки слева.

Оставить комментарий могут только зарегистрированные пользователи.

Войдите на сайт или зарегистрируйтесь, чтобы оставить комментарий.