切换并使StackPanel变灰

5
我想切换一个小的StackPanel在一个大的StackPanel之上:当小的StackPanel被切换并显示可见时,背景上的大的StackPanel会使用不透明度颜色变灰。有人知道如何将整个StackPanel变灰吗?
3个回答

13
你可以尝试禁用StackPanelstackPanel.IsEnabled = false;),这样该StackPanel的所有子元素也会被禁用,通常会呈现为灰色控件的外观。

谢谢。我还想知道如何用颜色使stackPanel变灰。就像在CSS中你可以用<div>框出一个区域,然后设置一个带有透明度的背景色一样。我从Web编程转到桌面应用程序,但我无法弄清楚如何在C#中实现这一点... - KMC
2
这可能需要一个单独的问题来解决。我不知道你想要实现什么样的外观,但是你可以通过StackPanel.Opacity设置StackPanel的不透明度,并使用SolidColorBrushStackPanel.Background属性着色。如果你不能以这种方式获得所需的效果,你可能需要在StackPanel下面放置一个矩形来进行着色。 - H.B.

3

H.B.的解答在Windows Phone 8.1上无效。禁用控件的简单方法是将控件包装在<ContentControl x:Name="MyControl">中,然后应用MyControl.IsEnabled = false;。详情请见这里


1

试试这个:

stackPanel.IsEnabled = false;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接