Я просто намочил ноги в Silverlight и действительно не понимаю различий и профессионалов/недостатков создания a UserControl
по сравнению с созданием Управления для той же задачи (как в том, когда Вы щелкаете правой кнопкой по выбору в Смешении Выражения, например).
Кажется, что выбор "Превращает В Управление", просто создает новый шаблон для базового типа, который Вы указываете, тогда как создание a UserControl
создает совершенно новый базовый класс. Это корректно?
В этом конкретном экземпляре я создаю управление полем пользовательского текста, которое только берет числа и делит себя на 3 раздела, храня 3 значения в раздельное имущество, как изображено ниже. В данном случае, который был бы лучшим?
Дов, я думаю, вы ответили на свой вопрос своим обновлением. Пользовательские элементы управления наиболее полезны, если вы хотите создать элемент управления, поддерживающий шаблоны. В противном случае они полезны, когда вы наследуете от других элементов управления, чтобы чисто добавить функциональность (TextBox -> PasswordTextBox).
Пользовательские элементы управления должны быть составным элементом управления - в основном набором других «элементов управления», сгруппированных вместе, чтобы работать как единое связное целое.
Пользовательские элементы управления, с другой стороны, являются предназначен для использования в качестве единого элемента управления. Подумайте об основных элементах управления в структуре, таких как TextBox или Button - если вы реализуете что-то подобное, вам нужен Control. (Это менее распространено, чем UserControls, особенно в WPF, поскольку вы можете использовать шаблоны для элементов управления базового класса, чтобы выполнить довольно много вещей, когда вам понадобятся настраиваемые элементы управления в других фреймворках). Пользовательский элемент управления - это определение нового поведения для одного «элемента управления».
Если вы считаете, что ваш элемент управления представляет собой группу из трех текстовых полей, тогда UserControl
будет подходящим, но если ваш элемент управления по-прежнему будет a TextBox
, тогда вам следует расширить существующий элемент управления с помощью «Сделать элемент управления».
Похоже, вам нужен UserControl
для меня.