上节介绍的事件聚合器其实就可以实现MVVM模式下的弹窗过程,不过Prism非常贴心的有封装了专门实现子窗口的全套逻辑。
既然要打开子窗口,那我们需要准备内容,但是窗口本身是prism准备好的,我们需要的准备是窗口内容,所以这里我新建一个用户控件,最终这个用户控件会被安排在一个prism为我们准备好的窗口里。我们为这个用户控件(view), 准备一个ViewModel,注意这个ViewModel需要实现接口IDialogAware。
新建一个用户控件,命名一个类名就叫 “MyDialog” 吧,记住这个名字后续注册时用到:
- <UserControl x:Class="WpfTest.Control.MyDialog"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008&