我转而在我的应用框架中使用ProgressBar
/ Grid
而不是Popup
。我使用这个堆栈溢出帖子来使它工作:Dynamic Progress bar In WP7
然而,在使用示例时,我不再有页面转换。如果页面转换无法正常工作,我将很难保证使用它。有什么我想念的吗?我尝试将TargetType设置为“TransitionFrame
”,但这不能正常工作并抛出XAML
解析异常(对于命名空间Microsoft.Phone.Controls.PhoneApplicationPages
)
<ControlTemplate x:Key="LoadingIndicatorTemplate" TargetType="toolkit:TransitionFrame" >
<Grid x:Name="ClientArea">
<ContentPresenter />
<Grid x:Name="ProgressGrid" Background="Black" Opacity="0.85" Visibility="Collapsed" Loaded="ProgressGrid_Loaded">
<StackPanel x:Name="Loading" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10">
<TextBlock HorizontalAlignment="Center" Name="tbLoading" Text="Loading" Style="{StaticResource TextNormalStyle}" />
<ProgressBar Style="{StaticResource PerformanceProgressBar}" HorizontalAlignment="Center" Name="pbLoading" Width="400" Margin="10" IsIndeterminate="False" />
</StackPanel>
</Grid>
</Grid>
</ControlTemplate>
答案 0 :(得分:2)
要使用Toolkit的TransitionFrame进行页面过渡以及自定义ControlTemplate来显示进度条,您必须将ControlTemplate的 TargetType 指定为toolkit:Transitionframe
,其中工具包< / strong>定义为:
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
问题的其余部分是您的ControlTemplate未指定TransitionFrame
所需的模板部分。它需要两个ContentPresenter
类型的名为 FirstContentPresenter 和 SecondContentPresenter 的部分。将ControlTemplate更改为以下内容以恢复页面转换:
<ControlTemplate x:Key="LoadingIndicatorTemplate" TargetType="toolkit:TransitionFrame">
<Grid x:Name="ClientArea">
<ContentPresenter x:Name="FirstContentPresenter" />
<ContentPresenter x:Name="SecondContentPresenter" />
<Grid x:Name="ProgressGrid"
Background="Black"
Opacity="0.85"
Visibility="Collapsed"
Loaded="ProgressGrid_Loaded">
<StackPanel x:Name="Loading"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Margin="10">
<TextBlock x:Name="tbLoading"
HorizontalAlignment="Center"
Text="Loading"
Style="{StaticResource BoaTextNormalStyle}" />
<toolkit:PerformanceProgressBar x:Name="pbLoading"
HorizontalAlignment="Center"
Width="400"
Margin="10"
IsIndeterminate="False" />
</StackPanel>
</Grid>
</Grid>
</ControlTemplate>
注意: Jeff Wilcox的PerformanceProgressBar
现在是Silverlight工具包的一部分,因此您可以直接使用它,如上所示。
答案 1 :(得分:0)
如果您将进度条放在框架上,然后为页面设置动画,则动画将不包含进度条。
为什么不把进度条放在页面上?