3

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

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

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

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

那么,这可能吗?

4

2 回答 2

3

我已经使用 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 显示您的进度对话框,然后在完成后发布主窗口订阅的第二个事件,这会导致它再次显示..(上面我使用有效负载来指示外壳是否应该显示或隐藏)

希望其中一些有所帮助-所有未经测试

特雷夫

于 2008-11-18T17:41:23.907 回答
3

您还可以查看以下帖子:

希望这可以帮助,

埃齐奎尔·贾迪布

于 2010-02-14T12:32:34.633 回答