The ViewModel should not create UIElements directly, because the ViewModel should not be dependent on the view. The ViewModel provides data that a view can interact with (i.e., UIElements).
, View, : View-first ViewModel. , ViewModel. ViewModel ( ). .
UIElements, DataBinding DataTemplates ControlTemplates.