2011-11-18 42 views
0

覆盖繁忙视图的最佳方式是什么,以便用户无法与表单交互?尝试了不同的方式,比如将边框图层放置在窗体顶部,将Background设置为轻微模糊。同时将光标设置为繁忙,以便用户无法互动。是否有任何示例项目可用。繁忙视图覆盖在窗体上。 wpf

但是,这是问题所在。将Cursor设置为繁忙,我们无法与背面的表单交互,但如果通过Tab键(按Tab),我们可以转到表单内的控件,然后与其交互。

有没有人遇到过这个问题?

谢谢!

回答

1

当构建a custom Popup包含控件背后的控件时,我遇到了同样的问题。我结束了一个触发

<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> 
+0

酷感谢了很多! –

2

BusyIndicator是专门为您设计的控件。

+0

抱歉,但...这是覆盖超过形式显示另一个用户控件中通过使用户控件它自己的焦点范围,并禁止TabNavigation解决它。所以它不能使用。 –

+0

不要关注。 BusyIndi​​cator是一个控件,它完全符合你在你的问题中提出的要求。它的模板可以像任何其他普通的WPF控件一样进行自定义。无论如何,很高兴你找到了解决方案。 –

+0

是的,你在这个意义上是正确的,但是。 Rachel解决了这个问题,因为我们拥有所有的自定义控件。 –