Как перейти к представлению из модели представления

Мне интересно, может ли кто-нибудь дать мне несколько советов по проблеме Silverlight, с которой я столкнулся?

Сейчас я создаю страницу в Silverlight, используя шаблон MVVM для извлечения и отображения моих данных. Моя страница будет стандартной страницей типа «Список», которая использует сетку данных для отображения и фильтрации данных.

Что я хотел бы сделать, так это то, что если пользователь нажимает кнопку редактирования на этой странице списка, я хотел бы перейти на страницу сведений, которая будет содержать форму данных, которую я хочу связать с той же коллекцией данных, которая привязана к datagrid страницы списка. Я думаю, что должно произойти то, что модель представления списка должна создать страницу сведений и установить контекст данных страницы сведений для себя (будучи экземпляром модели представления списка). Я не уверен, как создать представление, перейти к нему и передать ссылку на модель представления.

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


person silverlightStumped    schedule 11.04.2011    source источник


Ответы (1)


MVVM хорошо подходит для этого. Вы правы, предполагая, что они оба используют одну и ту же модель представления, поскольку данные одинаковы, и вы можете автоматически обновлять данные в обоих местах одновременно.

Однако я бы не стал заставлять модель представления создавать представления. Это часто рассматривается как неправильный способ реализации MVVM, поскольку он создает связь между моделями представлений и представлениями, что впоследствии может привести к проблемам.

Решение с образцом кода описано в эта запись в блоге.

person ChrisBellew    schedule 11.04.2011
comment
Я немного запутался. Сообщение в блоге, о котором вы упомянули, демонстрирует, как перевести представление сетки в режим редактирования. Мне действительно нужно, как создать представление, установить его модель представления в соответствии с моим представлением списка и перейти к этому представлению. Спасибо - person silverlightStumped; 12.04.2011