我想在整个页面上显示某种半透明/半透明的效果,然后在其顶部显示我的选项按钮,但我只是不知道如何操作,这让我发疯了!我已经在很多wp8应用程序中看到了它,因此它是可行的,但我只是不知道该怎么做!
一旦显示了这种半透明/半透明的效果,我希望它消失(如果单击或单击我的选项按钮之一),然后将屏幕恢复原状或相应地执行操作。
我已经设法通过使用 Storyboard 设置背景颜色来做到这一点,但奇怪的是,一旦显示并且我的选项按钮出现,它们看起来就很好了,但是一旦 Storyboard 表完成,该按钮也将被禁用,这看起来是错误的! !
像在窗口上显示半透明对话框一样,具有“禁用”效果的正确方法是什么?
任何想法,建议或代码将不胜感激。
谢谢。
最佳答案
您可能使它变得比所需的复杂。例如,考虑以下XAML:
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid x:Name="ContentRoot">
...
</Grid>
<Grid x:Name="ContentOverlay" Background="#AA000000" Visibility="Collapsed">
...
</Grid>
</Grid>
ContentRoot和ContentOverlay都将 anchor 定在LayoutRoot网格的左上方,并跨越行高。它们将按照声明的顺序从最远到最接近堆叠,因此ContentRoot将呈现在ContentOverlay下。只需根据用户输入来操纵ContentOverlay的可见性。
或者,您可以将ContentOverlay的Opacity设置为0,同时将折叠的可见性设置为0(必需的,这样它就不会拦截对下面的ContentRoot子控件的匹配),并在Blend中使用 Storyboard 淡入淡出。即使只有0.3秒左右的时间,对用户来说,过渡似乎也比较干净。
关于c# - 如何通过在页面上显示半透明控件来禁用Windows Phone上的所有控件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18278905/