我已经使用 Composite wpf 几个月了,看不出你为什么不能做你要求的事情。
我可能不会走多壳路线,有一个'Composite wpf contrib project'定义了一个'WindowRegionAdaptor',它应该可以很容易地在单独的窗口中显示视图(见这里:http://www.codeplex. com/CompositeWPFContrib)我没有使用它,但使用了其他一些 contrib 项目,它们按广告宣传。尽管其中一些文档目前很少甚至不存在,但论坛可能很有用。
我必须尝试一下,但您可以使用事件聚合器在双击操作上发布事件
eventAggregator.GetEvent<MainWindowShowEvent>().Publish(false);
ShellPresenter 可以订阅并调用 shell 视图以在收到时隐藏:
eventAggregator.GetEvent<MainWindowShowEvent>().Subscribe(b => View.Show(b) );
然后使用 WindowRegionAdaptor 显示您的进度对话框,然后在完成后发布主窗口订阅的第二个事件,这会导致它再次显示..(上面我使用有效负载来指示外壳是否应该显示或隐藏)
希望其中一些有所帮助-所有未经测试
特雷夫