Así que, básicamente, es necesario crear plantillas de datos mediante programación ... Eso no es muy sencillo, pero creo que se puede lograr que con la clase FrameworkElementFactory
:
public void AddDataTemplateForView(Type viewType)
{
string viewModelTypeName = viewType.FullName + "Model";
Type viewModelType = Assembly.GetExecutingAssembly().GetType(viewModelTypeName);
DataTemplate template = new DataTemplate
{
DataType = viewModelType,
VisualTree = new FrameworkElementFactory(viewType)
};
this.Resources.Add(viewModelType, template);
}
no he probado que , por lo que pueden ser necesarios algunos ajustes ... Por ejemplo, no estoy seguro de cuál debe ser el tipo de la clave de recursos, ya que generalmente se establece implícitamente al configurar el Tipo de datos en XAML