CompositeWPF是否支持多个窗口/ shell?

时间:2008-11-10 02:24:59

标签: c# .net wpf prism

我正在使用CompositeWPF(http://www.codeplex.com/CompositeWPF) - 又名Prism来构建我正在处理的应用程序。

该应用程序不是传统的LOB应用程序,但它确实向用户提供数据和状态信息。

我不确定的一件事是CompositeWPF是否支持多个Window或Shell。我想让我的应用程序通知用户使用无边界窗口,该窗口出现在屏幕的较低RHS中(想想MSN通知),但仍然使用视图注入区域等的想法。

除此之外,我希望能够对用户操作做出反应(例如双击某些内容),隐藏主窗口并在执行工作时显示进度对话框。

那么,这可能吗?

2 个答案:

答案 0 :(得分:3)

我一直在使用Composite wpf几个月,并且没有理由说你为什么不能做你要求的事情。

我可能不会去多个shell路线,有一个'复合wpf contrib项目',它定义了一个'WindowRegionAdaptor',它可以让你在单独的窗口中显示视图很容易(见这里:http://www.codeplex.com/CompositeWPFContrib )我没有使用它,但已经使用了一些其他贡献项目,他们的工作广告。虽然文档目前很少在其中一些文档中不存在,但论坛可能很有用。

我必须尝试一下,但您可以使用事件聚合器在双击操作上发布事件

eventAggregator.GetEvent<MainWindowShowEvent>().Publish(false);
ShellPresenter可以订阅并调用shell视图以便在收到时隐藏:

eventAggregator.GetEvent<MainWindowShowEvent>().Subscribe(b => View.Show(b) );

然后使用WindowRegionAdaptor显示进度对话框,随后在完成时发布主窗口订阅的第二个事件,使其再次显示..(上面我使用了有效负载来指示shell是否应该显示或隐藏)

希望其中一些有用 - 所有未经测试的

崔佛

答案 1 :(得分:3)

您还可以查看以下帖子:

希望这有帮助,

Ezequiel Jadib