2010-01-19 39 views

回答

2

最简单的方法是在要调暗的控件和进度条之间放置一个半透明的矩形,然后在操作正在进行时使其可见。

+0

这是很容易endeed似乎OK – rem 2010-01-19 17:43:39

2

在silverlight中,您可以使用自定义用户控件将其宽度和高度设置为“自动”。您将拥有一些控制权,因为LayoutRoot的宽度和高度也设置为auto,并且在该范围内您的进度条居中居中(Horizo​​ntalAlignment = Center)。然后,您将LayoutRoot的不透明度设置为0.5或任何您喜欢的东西

然后,当您将控件嵌入到窗体的XAML中时,可以将控件的Horizo​​ntalAlignment和VerticalAlignment设置为伸展。这会导致控件的布局根部伸展以填充表单,并且由于其不透明度,表单变为半透明。由于您的进度条未设置为伸展,它将保持在中心位置。

我想这是很多在WPF相同

实例控制:

<UserControl x:Name="MyControl" width="Auto" Heigh="Auto"> 
    <Grid x:Name="LayoutRoot" Background="#AFFFFFFF" Width="Auto" Height="Auto" Opacity="0.01" > 
     <ProgressBar Height="10" VerticalAlignment="Center" HorizontalAlignment="Center" Width="195" IsIndeterminate="True" Background="Black" Foreground="#FFFF0009"> 
     </ProgressBar> 
    </Grid> 
</UserControl> 

实例应用:

<MyControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> 
+0

感谢您的想法和代码例。 +1 – rem 2010-01-19 17:44:22

+0

我该怎么做才能显示/隐藏进度条?我只想在必要时显示暗淡的背景和进度条。 – Felix 2013-10-24 02:20:42