【问题标题】:WPF + PRISM - show modal popup window with controls in it?WPF + PRISM - 显示带有控件的模态弹出窗口?
【发布时间】:2012-08-02 11:55:10
【问题描述】:

我正在关注 Prism 团队的 'Stock Trader RI' 示例, 但它并没有完全解决这个问题:

我有一个 Shell,其中有一个 Main Region

在这个外壳中,我有一些过滤器字段和一个网格。

当我按下按钮时 - 我想加载一个允许我更改过滤器的屏幕,

然后按“保存”。然后这将调用服务来更新字段,并关闭弹出窗口。

这是按下按钮之前(左)和之后(右)的“外壳”示意图:

问题是:

  1. “Stock Trader RI”示例应用程序仅使用无模式对话框弹出窗口。我需要一个 MODAL 弹出窗口(背景将继续刷新,但只要弹出窗口处于活动状态,用户就无法访问它)。
  2. 需要在弹出显示时具有类似 Silverlight 的效果,这意味着 - “Shell”需要显示为“已禁用”(如其上的灰色蒙版)。
  3. 弹出窗口应该没有“X”按钮,也没有“最小化”或“最大化”按钮。弹出窗口应该只是一个带有弯角的矩形。
  4. 我认为我不能使用“通知窗口”或“确认窗口”,因为我无法在其中放入我想要的任何内容。这是一个包含 2 个字段的示例,但弹出窗口可能会更复杂,其中包含选项卡,并向用户显示大量信息。

那么,一旦按下“编辑”按钮,如何从“WPF+PRISM”Shell-View-Model 中显示模式弹出窗口? (意思是,一旦“EditCommand”被执行……)

【问题讨论】:

标签: wpf popup prism


【解决方案1】:

我找到了解决方案here

基本上它使用 InteractionRequest 并允许我打开一个窗口(我可以根据需要设置样式,没有“最大化”“最小化”按钮),而且 - 我可以选择它是模态

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

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

唯一没有解决的问题是,我无法通过在调用视图上添加灰色半透明来使调用视图看起来被禁用......还没有想出如何做到这一点......

【讨论】:

  • 对于灰色显示,我创建了一个将请求链接到父窗口的 pub 子事件。所以父窗口订阅了一个灰色事件。对 MVVM 不太友好,但它可以完成工作
  • 解决方案链接不存在
猜你喜欢
  • 2010-12-15
  • 1970-01-01
  • 2016-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多