TOC

This article has been localized into Russian by the community.

UserControls & CustomControls:

Вступление

До сих пор в этом руководстве мы использовали только встроенные элементы управления, имеющиеся в WPF. Они будут использоваться вами ОЧЕНЬ долго, потому что они чрезвычайно гибки, их можно стилизовать и создать из них практически все, что нужно. Однако в какой-то момент вам, вероятно, будет лучше создать собственный элемент управления. В других UI-фреймворках это может быть довольно громоздким, но в WPF это делается довольно легко, используя для этого на выбор два компонента: UserControls и Custom controls.

Компонент UserControl

Контрол WPF UserControl наследует класс UserControl и очень похож на контрол WPF Window: у вас есть файл XAML и файл кода. В файле XAML вы можете добавить существующие элементы управления WPF для создания нужного вам вида, а затем добавить функциональности в коде. Затем можно использовать этот контрол в одном или нескольких местах, что позволяет легко группировать и переиспользовать функционал между вашими приложениями.

Custom controls

Custom control более низкого уровня, чем UserControl. Когда вы создаете Custom control, вы наследуете от существующего класса, и углубляетесь в его модификацию настолько, насколько это вам нужно. Во многих случаях вы можете наследовать класс Control, от которого наследуются другие элементы управления WPF (например, TextBox), но если вам нужно пойти еще глубже, вы можете унаследовать FrameworkElement или даже UIElement. Чем глубже вы идете, тем больше у вас контроля и тем меньше функций наследуется.

Внешний вид Custom control обычно контролируется с помощью стилей в файле темы, в то время как внешний вид User control будет соответствовать виду остальной части приложения. Это также подчеркивает одно из основных отличий между ними: Custom control может быть стилизован/шаблонизирован, а UserControl - нет.

Итоги

Создавать многократно используемые элементы управления в WPF достаточно просто, особенно, если вы используете подход UserControl. В следующей статье мы рассмотрим, насколько просто создать UserControl, а затем использовать его в своем собственном приложении.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!