我正在开发一个具有 Metro 外观的 WPF-MVVM (.Net 4.0) 应用程序(它只是外观,它不是 Metro 应用程序。)我需要显示一个类似于 Windows 8 的消息框,它阻止了用户在通过单击是/否/取消(或任何按钮)消除该消息框之前。
我遇到了这篇原本很棒的文章,并暂时认为我已经找到了解决方案。但这有其自身的缺点。它只是阻止用户通过鼠标单击与后面的控件进行交互。但是,用户可以使用 tab 键返回到后面的按钮并单击它们(按 enter)。
我想到了很多事情:
我应该选择自定义装饰器并使用 hitTestable 属性吗?
或者我应该放置一个控件并使用它的可见属性。
在采取任何方法之前,如果有人过去做过类似的事情并为我提供一些指针/参考/方法,我想向这里的精彩社区提出我的问题。
有人可以建议实现这一目标的方法是什么吗?请注意,如果可以解决目的,我将很乐意使用 prism 或任何其他开源软件,但必须定制窗口。如果您觉得这个问题太愚蠢,请原谅。请原谅我的无知。感谢您阅读本文。