2013-01-03 173 views
2

我的应用程序中的某些操作需要一些时间,我想显示等待屏幕,以便用户在操作完成之前可能不会执行任何操作。显示等待屏幕WindowsPhone8

请让我知道我该怎么做。

回答

1

您可以编辑相框模板,并以这种方式插入特殊控制:

<Style x:Key="mainFrameStyle" TargetType="phone:PhoneApplicationFrame"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="phone:PhoneApplicationFrame"> 
      <Border x:Name="ClientArea" BorderBrush="{TemplateBinding BorderBrush}" 
        BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" 
        HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}"> 
        <Grid x:Name="mainFrameGrid"> 
         <ContentControl ContentTemplate="{TemplateBinding ContentTemplate}" 
           Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" 
           HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" 
           VerticalAlignment="{TemplateBinding VerticalAlignment}" 
           VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" /> 

         <Grid Background="Black" Visibility="{Binding IsBusy, Converter={StaticResource TrueToVisibleConverter}, Source={StaticResource FrameViewModel}}"> 
          <TextBlock Text="Loading.." VerticalAlignment="Center" HorizontalAlignment="Center"/> 
         </Grid> 
        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

,并使用此代码在InitializePhoneApplication在App.xaml.cs将此模板():

RootFrame = new TransitionFrame(); 
    RootFrame.Style = Resources["mainFrameStyle"] as Style; 

所以所有你需要注册一些viewmodel作为一个静态资源,并在需要时改变它的IsBusy属性。

+0

谢谢,我一定会用它。是否有可能我们使用Telerik控制库来做到这一点?我的意思是在telerik控件中有任何可用的机制? – LojiSmith