Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CompositeWPF是否支持多个窗口/shell?_C#_.net_Wpf_Prism - Fatal编程技术网

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

C# CompositeWPF是否支持多个窗口/shell?,c#,.net,wpf,prism,C#,.net,Wpf,Prism,我正在考虑使用CompositeWPF()-aka Prism来构建我正在开发的应用程序 该应用程序不是传统的LOB应用程序,但是它向用户提供数据和状态信息 我不确定的一件事是CompositeWPF是否支持多个窗口或Shell。我想让我的应用程序用一个无边框窗口通知用户,该窗口出现在屏幕的下部RHS(想想MSN通知),但仍然使用将视图注入区域的想法等 除此之外,我希望能够对用户操作做出反应(例如双击某物),隐藏主窗口并在执行工作时显示进度对话框 那么,这可能吗?我已经使用复合wpf好几个月了,

我正在考虑使用CompositeWPF()-aka Prism来构建我正在开发的应用程序

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

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

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


那么,这可能吗?

我已经使用复合wpf好几个月了,我看不出有什么理由你不能做你要求的事情

我可能不会走多shell路线,这里有一个“复合wpf contrib项目”,它定义了一个“WindowRegionaAdaptor”,它可以使在单独的窗口中轻松显示视图(请参见此处:)我没有使用它,但使用了一些其他contrib项,它们可以按照广告的方式工作。尽管一些论坛上的文档目前很少甚至不存在,但这些论坛还是很有用的

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

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

eventAggregator.GetEvent<MainWindowShowEvent>().Subscribe(b => View.Show(b) );
eventAggregator.GetEvent().Subscribe(b=>View.Show(b));
然后使用WindowRegionaAdaptor显示进度对话框,然后在完成时发布主窗口订阅的第二个事件,使其再次显示。。(上面我使用了有效载荷来指示shell应该显示还是隐藏)

希望这能有所帮助——所有这些都未经测试


Trev

您还可以查看以下帖子:

希望这有帮助


Ezequiel Jadib

谢谢你的回答-我几乎想知道是否有人能帮助我。你提供的链接看起来很棒-我会调查一下(当我有时间的时候)并报告结果:D