Как перейти к виду из модели представления - PullRequest
0 голосов
/ 11 апреля 2011

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

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

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

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

1 Ответ

1 голос
/ 11 апреля 2011

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

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

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

...