标签: wpf
我有Window打开无边距Dialog,您可以在其中选择一些选项。设置选项后,Dialog会关闭,主Window会再次启用。不太难。
Window
Dialog
但是由于选项屏幕中的选项已更改,我需要刷新主窗口并防止在刷新之前进行更改。
所以现在我想在中间添加一个ProgressBar的额外图层来通知用户:please wait, we are refreshing。
ProgressBar
please wait, we are refreshing
围绕这个最佳做法是什么?
答案 0 :(得分:5)
您可以查看一下Adorners(MSDN link),它允许您将渲染表面粘贴在其他UI元素之上。这将允许您现有的控件不知道刷新阶段,并允许在Adorner中包含进度可视化以及显示/隐藏Adorner层所需的代码块
答案 1 :(得分:1)
我刚刚了解了Popup原语控件。它不是模态的,但它确实覆盖了屏幕上的其他控件。
假设您可以打开一个覆盖整个窗口的弹出窗口(如果用户移动窗口,则必须移动它),该窗口具有透明背景,其中的不透明居中面板显示您的等待消息。在弹出窗口中添加有色透明背景,以获得暗淡的UI体验。