c# – 如何在Caliburn.Micro中处理登录/注销?

前端之家收集整理的这篇文章主要介绍了c# – 如何在Caliburn.Micro中处理登录/注销?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是Caliburn.Micro的新手,我想知道在我的应用程序中处理用户登录/注销周期的最佳方法是什么.我在网上看到了一些使用空 Shell-View实现这一点的建议,它在LoginView和主应用程序视图之间切换,每个都有一个自定义viewmodel.

我真的不喜欢这个解决方案,因为对我来说这些是两个独立的窗口,具有非常不同的属性(标题,图标,大小),它似乎是一个不干净的解决方案,两个窗口看起来像另一个窗口.另一个问题是,登录窗口来自一个我无法控制但不使用Caliburn.Micro的实用程序库,它是一个普通的旧窗口,当用户单击“登录”时它会给我一个事件.

我还看到了在Bootstrapper启动方法显示此Dialog的建议,但我看到的问题是用户可以选择“logout”应用程序,它应该再次显示Login对话框.我在处理Bootstrapper中的Views之间切换似乎是错的.

我想要的是使用某种类似于Caliburn Conductor的Applicationviewmodel或ApplicationController,但它不是在Window内的Views之间切换,而是应该在LoginWindow和MainWindow之间切换,并且还应该处理整个应用程序的Closing(还需要退出).在激活时,它将显示LoginWindow,处理Login事件,然后切换到主窗口(Shell).如果用户选择“logout”,则该事件应再次冒泡到Applicationviewmodel / Controller,这将停用/关闭MainWindow,执行logout,然后再次显示LoginDialog.类似的Close事件会执行logout,但随后关闭整个应用程序.

所以我的问题是:

>您如何看待这个解决方案,还有另一个/更好的解决方案吗?
>我该如何实现?

猜你在找的C#相关文章