Должна ли стена с изображениями производиться от ItemsControl или Panel в WPF (или silverlight, или WP7)?

Предположим, мне нужно создать класс под названием PictureWall, который будет использоваться для отображения изображений.

Теперь я обнаружил, что Panel и ItemsControl могут использоваться для хранения дочерних элементов. Так должен ли класс PictureWall быть производным от Panel?или должно производиться от ItemsControl.

Примечание: это не настоящее требование, это просто гипотетический вопрос. Реальный вопрос: когда мне следует создать подкласс Control (или ItemsControl), а когда - подкласс Panel?

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

Примечание 3: Этот воображаемый элемент управления стеной с изображениями имеет собственный способ загрузки определенных изображений по умолчанию (например, получение изображений с сервера), и он не хочет таким образом, чтобы возиться. Если это так, то мы не должны наследовать ItemsControl, верно?

5
задан Cui Pengfei 崔鹏飞 9 June 2011 в 04:20
поделиться