В частности, отсутствует «DataTemplateSelector». Впрочем, это неудивительно, поскольку они представляют собой разные стеки ... (Они очень похожи друг на друга с точки зрения четности функций и парадигмы разработчика) Во Flex существует концепция скинов, которая очень похожа на шаблоны. Существует также концепция средств визуализации элементов, которые очень похожи на шаблоны данных в повторяющихся представлениях (List, DataGroup, DropDownList, ComboBox, DataGrid и т. Д.)
В случае средств визуализации элементов (наиболее вероятно, о чем вы говорите) компоненты имеют необязательное свойство itemRendererFunction
, которое представляет собой функцию, которая решает, какое средство визуализации элементов использовать. Это позволяет создавать чрезвычайно динамические представления поверх моделей презентаций (они не называются моделями представления во Flex ... они используют оригинальное имя модели презентации ... не знаю, почему Silverlight когда-либо сменил его на MVVM ... I отвлекся).
Что касается скинов на всех других (основанных на Spark) компонентах, вы можете изменить скины во время выполнения, используя .setStyle('skinClass', TheSkin)
Кроме того, вы можете использовать контейнеры IoC для склеивания презентационных моделей с любым представлением. Это на самом деле очень просто.
В том же духе я однажды создал очень маленький механизм отображения представлений, который позволяет регистрировать представления по типам, и привязка данных происходит автоматически. Очень похоже на RegionManager в Prism для Silverlight.
Если вам интересно, как презентационная модель вписывается в Flex, я написал две статьи на эту тему:
MVVM против модели презентации
Модель презентации для использования на нескольких экранах
Во второй ссылке будет опубликовано продолжение во вторник, в котором описывается, как вы используете несколько представлений поверх одной и той же модели презентации.
Так что да. Есть несколько решений для достижения того, чего вы хотите достичь. Ни один из них не является прямым, потому что это разные стеки, но функциональность, безусловно, есть.