Я использую Prism для приложения и нуждаюсь в диалоговом окне входа в систему. Чтобы логин был проверен, мне нужно инициализировать некоторые данные приложения, загруженные Prism/MEF, поэтому я не могу положить его в App.xmal.cs OnStartUp, поэтому я поместил диалоговое окно входа в bootstrappers InitializeShell, как этоPrism Login Dialog
protected override void InitializeShell()
{
Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;
//// Authenticate the current user and set the default principal
LoginDialog auth = new LoginDialog();
auth.WindowStartupLocation = WindowStartupLocation.CenterScreen;
bool? dialogResult = auth.ShowDialog();
// deal with the results
if (dialogResult.HasValue && dialogResult.Value)
{
base.InitializeShell();
Application.Current.ShutdownMode = ShutdownMode.OnMainWindowClose;
}
else
{
Application.Current.Shutdown(-1);
}
#if SILVERLIGHT
Application.Current.RootVisual = (Shell)this.Shell;
#else
Application.Current.MainWindow = (Shell)this.Shell;
Application.Current.MainWindow.Show();
#endif
}
у меня трудное время оценки, если есть какие-либо ловушки или недостаток, кто есть комментарий
Спасибо за бога комментариев. Поскольку я делаю настольное приложение, я буду придерживаться своего решения на данный момент, но я попробую, когда я получу время. благодаря – klashagelqvist