1

我正在开发一个具有 Metro 外观的 WPF-MVVM (.Net 4.0) 应用程序(它只是外观,它不是 Metro 应用程序。)我需要显示一个类似于 Windows 8 的消息框,它阻止了用户在通过单击是/否/取消(或任何按钮)消除该消息框之前。

我遇到了这篇原本很棒的文章,并暂时认为我已经找到了解决方案。但这有其自身的缺点。它只是阻止用户通过鼠标单击与后面的控件进行交互。但是,用户可以使用 tab 键返回到后面的按钮并单击它们(按 enter)。

我想到了很多事情:

  • 我应该选择自定义装饰器并使用 hitTestable 属性吗?

  • 或者我应该放置一个控件并使用它的可见属性。

在采取任何方法之前,如果有人过去做过类似的事情并为我提供一些指针/参考/方法,我想向这里的精彩社区提出我的问题。

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

4

2 回答 2

0

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

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

我不得不在那里和那里做一些调整,但总的来说它工作正常,我现在有一个很好的方式来显示对话框!

于 2012-09-05T13:20:00.743 回答
0

有更好的方法

            var dialog = new MessageDialog("Select Social network is already  authorised!");
            dialog.ShowAsync();
于 2013-09-19T21:52:26.277 回答