Я знаю, что привязка модели представления к представлению в порядке, модели представления, содержащие модели представлений, в порядке, и представления, содержащие представления, в порядке.У меня есть ситуация, когда кажется, что дочернее представление должно быть привязано к представлению.
В частности, у меня есть случай, когда реализация конкретной команды не должна находиться в какой-либо модели представления или манипулировать ею.способ (и не влияет на базовую модель-модель).Я мог бы поместить команду в модель представления, связать ее и выполнить, но это явный запах кода, препятствующий чистому отделению слоя модели представления от слоя представления.
Команда инициируется из родительского представления, но влияет на детский взгляд.Я могу придумать несколько способов справиться с этим.
- Добавить обработчик событий в родительский элемент, каким-то образом найти нужного дочернего элемента (не уверен, как это сделать в Silverlight), а затем выполнить всю логику, которую яneed.
- Обрабатывать событие в родительском объекте, но повторно вызывать другое событие (двойная отправка).В дочернем элементе обработайте второе событие и выполните логику.
- Свяжите команду с родителем и обработайте логику в самой команде (или в предоставленном делегате родительского представления).
- Привязать команду к дочернему представлению напрямую.В этом случае, как мне указать привязку в xaml родительского представления к правому дочернему представлению / элементу управления?
- Привязать команду к модели представления дочернего представления, как определено выше.
Что мне делать?