我真的不喜欢这个解决方案,因为对我来说这些是两个独立的窗口,具有非常不同的属性(标题,图标,大小),它似乎是一个不干净的解决方案,两个窗口看起来像另一个窗口.另一个问题是,登录窗口来自一个我无法控制但不使用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,但随后关闭整个应用程序.
所以我的问题是:
>您如何看待这个解决方案,还有另一个/更好的解决方案吗?
>我该如何实现?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。