Связывание ViewModels с другими ViewModelBinders - PullRequest
0 голосов
/ 12 января 2010

У меня есть view-модель (назовем ее HouseVM), но внутри нее есть другая view-модель (KitchenVM).Я уже создал пользовательское связующее для KitchenVM.Сейчас я создаю модель связующего устройства HouseVM.Как я могу получить доступ к привязке модели, которую я уже сделал для KitchenVM в привязке модели HouseVM?

ПРИМЕЧАНИЕ. Я видел это сообщение

1 Ответ

0 голосов
/ 13 января 2010

Вариант № 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

Этот пост Джимми Богарда может быть еще одним хорошим способом реализации ваших различных настраиваемых связывателей моделей, позволяющих каждому типу связываться с его соответствующей моделью.

...