Должен ли я изменить видимость элементов управления или создать другие виды для экрана входа в систему? - PullRequest
0 голосов
/ 10 сентября 2011

Я работаю над проектом, который использует PRISM 4 и шаблон MVVM.

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

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

Проблема в том, что мне нужно отобразить элементы управления выбором проекта в окне входа в систему, и я не уверенкак мне следует скрывать элементы управления / отображать новые элементы в представлении, все еще используя рекомендации MVVM и PRISM.

Другое решение состоит в том, чтобы иметь две оболочки, одна из которых используется для отображения двух разных представлений (то есть: представления выбора входа в систему и проекта), в то время как другой будет основной оболочкой приложения.

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

Как бы вы порекомендовали мне продолжить?

Ответы [ 2 ]

1 голос
/ 11 сентября 2011

Рекомендуется отображать диалог входа в систему до инициализации командной оболочки. Для этого вам нужно создать новое окно, которое отображает диалог входа в систему в методе InitializeShell загрузчика. Если пользователь успешно вошел в систему, вы инициализируете командную консоль, иначе вы убьете процесс. Это рекомендуемый способ, поскольку ваш пользовательский интерфейс (оболочка) может отличаться от пользователя к пользователю (сохраненные параметры пользовательского интерфейса, разные права доступа и т. Д.).

Для «представления выбора проекта» я бы предложил создать диалоговое окно, которое вызывается в ShellViewModel (через Loaded Behavior) при успешной загрузке оболочки. Затем пользователь может выбрать проект сразу после входа в систему.

0 голосов
/ 11 сентября 2011

Я на самом деле только что создал еще одну оболочку «Login», которая отображается до оболочки «Main».

Теперь в оболочке «Login» размещены представления «Ввод учетных данных» и «Выбор проекта».Пользователь может перейти от представления «Ввод учетных данных» к представлению «Выбор проекта», если его учетные данные действительны.

Аналогично, пользователь может вернуться к представлению «Ввод учетных данных» из «Выбор проекта».«Просмотр с использованием функции журнала навигации в PRISM.

После выбора проекта« Оболочка входа »скрывается и отображается« Оболочка главного ».

...