Вариант № 1
У вас может быть связующее для вашей модели для HouseVM, наследуемое от вашей пользовательской связки для KitchenVM. Это позволило бы привязке свойств Kitchen VM (или связанных свойств) по-прежнему быть связанным этим связывателем. Что-то вроде:
public class HouseViewModelBinder : KitchenViewModelBinder
{
protected override void BindProperty( ControllerContext controllerContext, ModelBindingContext bindingContext, System.ComponentModel.PropertyDescriptor propertyDescriptor )
{
if (propertyDescriptor.PropertyType == typeof(KitchenVM))
{
base.BindProperty(controllerContext, bindingContext, propertyDescriptor);
}
// bind the other properties here
}
}
Вариант № 2
Этот пост Джимми Богарда может быть еще одним хорошим способом реализации ваших различных настраиваемых связывателей моделей, позволяющих каждому типу связываться с его соответствующей моделью.