Самый быстрый способ унаследовать стандартный элемент управления в WPF? - PullRequest
0 голосов
/ 23 января 2011

Я просто хочу обернуть стандартный элемент управления еще некоторыми дополнительными свойствами (смотри, не меняйся, я не хочу делать их на первом этапе).

Могу ли я просто наследовать от этого стандартного элемента управления вместо UserControl или Control? На самом деле я читал, что обязательно использовать шаблон проекта с пользовательским управлением, а не шаблон проекта UserControl ontrol. Почему?

Обновление: я пытаюсь с проектом Custom Control и наследую от стандартного слайдера, но у меня ничего не появляется визуально! Теперь, что я должен сделать, чтобы иметь тот же визуальный слайдер, что и стандартный?

Я знаю разницу между пользовательским и пользовательским элементами управления, но на практике, как вы поступаете, когда вам нужен ОДИН единый стандартный элемент управления? Как, например, ползунок изменит свой размер АВТОМАТИЧЕСКИ, если я инкапсулирую его в пользовательский элемент управления вместо пользовательского?

1 Ответ

1 голос
/ 23 января 2011

Пользовательский элемент управления - это отдельный элемент управления, который может быть получен из другого элемента управления, это будет поддерживать стилизацию. UserControl - это составной элемент управления из множества различных элементов управления, и в целом он не поддерживает стилирование (однако детали его поддерживают).

Если вы хотите добавить какие-либо функции в существующий элемент управления, производные от него. Если вы хотите упаковать несколько элементов управления вместе, чтобы упростить их обработку (вы все равно можете добавить к нему DP), используйте UserControl.

Один пользовательский элемент управления не будет делать ничего, связанного с изменением размера и т. Д., Что зависит от параметров, которые вы предоставляете ему извне (т. Е. HorizontalAlignment, VerticalAlignment и другие) при использовании его в контейнере , Пользовательский элемент управления должен наследовать шаблон по умолчанию от базового класса, если вы не переопределите его.

...