2010-01-19 68 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