【发布时间】:2012-08-02 11:55:10
【问题描述】:
我正在关注 Prism 团队的 'Stock Trader RI' 示例, 但它并没有完全解决这个问题:
我有一个 Shell,其中有一个 Main Region。
在这个外壳中,我有一些过滤器字段和一个网格。
当我按下按钮时 - 我想加载一个允许我更改过滤器的屏幕,
然后按“保存”。然后这将调用服务来更新字段,并关闭弹出窗口。
这是按下按钮之前(左)和之后(右)的“外壳”示意图:
问题是:
- “Stock Trader RI”示例应用程序仅使用无模式对话框弹出窗口。我需要一个 MODAL 弹出窗口(背景将继续刷新,但只要弹出窗口处于活动状态,用户就无法访问它)。
- 需要在弹出显示时具有类似 Silverlight 的效果,这意味着 - “Shell”需要显示为“已禁用”(如其上的灰色蒙版)。
- 弹出窗口应该没有“X”按钮,也没有“最小化”或“最大化”按钮。弹出窗口应该只是一个带有弯角的矩形。
- 我认为我不能使用“通知窗口”或“确认窗口”,因为我无法在其中放入我想要的任何内容。这是一个包含 2 个字段的示例,但弹出窗口可能会更复杂,其中包含选项卡,并向用户显示大量信息。
那么,一旦按下“编辑”按钮,如何从“WPF+PRISM”Shell-View-Model 中显示模式弹出窗口? (意思是,一旦“EditCommand”被执行……)
【问题讨论】:
-
您看过扩展的 WPF 工具包wpftoolkit.codeplex.com ...您可以使用 ChildWindow 控件...如果您不想要 Caption、X 按钮等,请重新设置它的样式跨度>
-
也可以试试这个:techiethings.blogspot.co.uk/2009/12/web-style-wpf-popup.html ...它使用了一个装饰器,提供带有背景调光的弹出模式行为。
-
并使用 Prism 中的 InteractionRequest 来驱动模态弹窗:blogs.southworks.net/aadami/2012/05/09/…
-
@colinsmith - 感谢您的意见。我在您上一条评论中的链接中找到了解决方案...