覆盖繁忙视图的最佳方法是什么,以便用户无法与表单进行交互?尝试了不同的方法,例如将边框图层放在窗体顶部,将背景设置为浅蓝色。同时将光标设置为Busy使用户无法进行交互。有没有可用的示例项目。
但这是问题所在。将Cursor设置为Busy我们无法与背面的表单进行交互,但如果通过Tab键(按Tab键),我们可以转到表单内的控件,然后与之交互。
以前有人遇到过这个问题吗?
谢谢!
答案 0 :(得分:2)
BusyIndicator是一个专用控件,可以为您完成所有这些操作。
答案 1 :(得分:1)
在构建包含其后面控件的叠加层的a custom Popup时,我遇到了同样的问题。我最终通过使UserControl成为自己的Focus Scope来解决它,并在触发期间禁用TabNavigation
<local:SomeBusyView FocusManager.IsFocusScope="True">
<local:SomeBusyView.Style>
<Style TargetType="{x:Type local:SomeBusyView}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsBusy}" Value="True">
<Setter Property="KeyboardNavigation.TabNavigation" Value="None" />
</DataTrigger>
</Style.Triggers>
</Style>
</local:SomeBusyView.Style>
</local:SomeBusyView>