wpf - Windows 8使用WPF的模式对话框

标签 wpf mvvm dialog prism

我正在研究具有Metro外观的WPF-MVVM(.Net 4.0)应用程序(它只是具有外观,它不是Metro应用程序。)
我需要显示一个类似于Windows 8的消息框,该框会在用户单击“是/否/取消”(或任何按钮)删除该消息框之前阻止用户进行操作。

我碰到了这个原本很棒的article,片刻以为我找到了解决方案。但这有其自身的缺点:它只是阻止用户通过单击鼠标与后面的控件进行交互。但是,用户可以使用Tab键返回到后面的按钮并单击它们(按Enter键)。

我想到了很多事情:

  • 我应该寻求自定义装饰器并使用hitTestable属性吗?
  • 还是应该放置控件并使用其可见属性。

  • 在寻求任何方法之前,我曾想过如果有人过去做过类似的事情并向我提供一些指导/引用/方法,请向这里的社区提出我的问题。

    有人可以建议实现此目标的方法是什么?请注意,如果可以解决这个问题,我很乐意使用 Prism 或任何其他开源软件,但必须定制窗口。
    如果您觉得这个问题太愚蠢,请原谅。请原谅我的无知。感谢您阅读本文。

    最佳答案

    我最近遇到了类似的问题,我使用DialogPresenter解决了该问题,如下所述:

    http://www.codeproject.com/Articles/36516/WPF-Modal-Dialog

    我不得不在那儿做一些调整,但是总体来说一切正常,现在我有一个很好的方式显示对话框!

    关于wpf - Windows 8使用WPF的模式对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12279224/

    相关文章:

    wpf - 如何在 View 中拦截 RoutedCommand 的执行? (WPF/MVVM)

    c# - WPF MVVM RelayCommand 每个 DataGrid 行上的多个按钮,仅为选定行设置启用/禁用按钮状态

    iphone - FBConnect (IPHONE),自定义发布对话框

    mvvm - 可观察的集合更改后,UI不变

    c# - 使用删除按钮删除 WPF Datagrid 中的行

    c# - WPF 中的动态工具提示

    wpf - 没有十进制数的 LinearAxis

    javascript - Bot 框架范围 beginDialogAction

    vba - 更改 vba 对话框中是/否按钮的语言

    c# - 绑定(bind)到 Caps Lock