繁体   English   中英

PRISM 5 - WPF项目上的多个shell

[英]PRISM 5 - Multiple shell on a WPF project

我有一个WPF和PRISM原型。 我的项目需要(此时):

  • 登录窗口......
  • 主窗口(有菜单和一般信息)
  • 一个动态的表单(我可以在同一时间显示多个表单)...将加载菜单选择选项的内容(如产品信息/列表)。 像这样

我的想法是创建多个shell ...但我认为这是不需要的东西......我需要创建一个带有1个区域的shell ...以及3个视图与各自的区域(登录,主体和表单)???

如何使用PRISM我可以正确地做到这一点还是PRISM不是这样的?

您应该需要一个单独的服务类(DialogService)来启动应用程序中的对话框窗口。 应将此服务注入到您的视图模型中。 Dialog Service应该有一个获取视图名称的方法。 使用名称解析视图并使用此视图打开您自己的窗口。

以下链接可以解决您的问题,

http://www.codeproject.com/Articles/269364/MVVM-PRISM-Modal-Windows-by-using-Interaction-Requ

Prism 5附带了InteractionRequest类,它是混合的一部分,但现在它也可用于棱镜。 这允许您添加自定义内容。 您可以在以下两个链接中找到更多详细信息。

请查看以下针对交互请求内置支持的Prism 5的新链接。

http://msdn.microsoft.com/en-us/library/microsoft.practices.prism.interactivity.interactionrequest(v=pandp.50).aspx

快速开始

基本上prism附带shell类型和bootstrapper实例化它。 您需要做的就是设计您的shell,并将动态内容推送到区域,然后相应地更新您的区域内容。

对于对话框,请查看prism5的上述链接。

使用InteractiveRequest的Prism popupwindow有一些限制,如无法删除最大化或最小化按钮)。 而不是你可以尝试使用

http://blogs.southworks.net/dcherubini/2012/05/24/popupwindowaction-using-custom-views-instead-of-windows-in-wpf-and-prism/

这个解决方案的好处是 - 您可以使用自定义弹出窗口,而不仅仅是通知或确认弹出窗口。

另外 - 您可以将信息传递回调用“InteractionRequest”的类。

然后,要创建区域,请查看StockTrader用户界面

http://msdn.microsoft.com/en-us/library/ff921098%28v=pandp.40%29.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM