嗨我有一种情况,我必须根据某些条件显示一个窗口“连接窗口”。我正在使用PRISM 6.0和WPF,C#。在此输入图像描述
我有一个主窗口,如与MainWindowViewModle和连接窗口相关联的图片中所述。现在我首先点击连接按钮,然后会出现此连接窗口。此窗口及其视图模型“ConnectionWindowViewModel”将执行其余的连接过程。如果连接成功,ConnectWindowViewModel会通过eventAggregaor将其通知给MainWindowViewModel,如
In ConnectionViewModel
_eventAggregator.GetEvent<UpdateConnectionEvent>().Publish(connection);
In MainWindowViewModel
eventAggregator.GetEvent<UpdateConnectionEvent>().Subscribe(UpdateConnectionSettings);
按钮的内容将更改为Disconnect
,连接窗口将自动消失。
现在,如果我想断开此连接,应该从MainWindowViewModel
断开连接,并且不应出现连接窗口。
成功断开连接后,按钮的内容应更改为"Connect"
。并再次重复相同的过程。
答案 0 :(得分:1)
我的方法是使用Prism中内置的Interaction Request个对象。通过这些,您可以打开一个对话框(一种交互),可用于提示最终用途信息,如用户名和密码。 Prism documentation中有一小部分样本,Prism GitHub repo上有一个涉及更多的样本。
使用这些技术和主窗口视图模型上的Connected属性来指示连接的状态,您应该能够非常轻松地完成此操作。我使用交互请求相当多,它们适用于简单(确认更改)和复杂场景(编辑/属性对话框)。