Предположим, мне нужно создать класс под названием PictureWall, который будет использоваться для отображения изображений.
Теперь я обнаружил, что Panel и ItemsControl могут использоваться для хранения дочерних элементов. Так должен ли класс PictureWall быть производным от Panel?или должно производиться от ItemsControl.
Примечание: это не настоящее требование, это просто гипотетический вопрос. Реальный вопрос: когда мне следует создать подкласс Control (или ItemsControl), а когда - подкласс Panel?
Примечание 2: Этот воображаемый элемент управления стеной с картинками не должен использоваться только в одном приложении. Его могут использовать другие разработчики. Если он является производным от Panel или ItemsControl, он предоставит свойство с именем Children другим разработчикам. Так что в этом случае получение из Control - лучшая идея, не так ли?
Примечание 3: Этот воображаемый элемент управления стеной с изображениями имеет собственный способ загрузки определенных изображений по умолчанию (например, получение изображений с сервера), и он не хочет таким образом, чтобы возиться. Если это так, то мы не должны наследовать ItemsControl, верно?