当进度条运行时如何在WP8中禁用页面的其他控件

时间:2014-11-12 08:54:08

标签: windows-phone-8

如果在调用服务时需要时间,我怎么能在页面上有一个加载/进度条,直到调用和响应未完成,控件不可访问

2 个答案:

答案 0 :(得分:1)

尝试这种方式,在进度条后面创建一个覆盖整个屏幕的空网格,并将其不透明度设置为0.5,以便背景可以看到。

<Grid Grid.Row="0" x:Name="GrdProgressBar"  Background="Transparent"  >
        <Grid Background="White" Opacity="0.5"></Grid>
        <StackPanel VerticalAlignment="Center">
            <ProgressBar IsIndeterminate="True" Foreground="Green" Margin="0,5,0,0" ></ProgressBar>
            <TextBlock Text="loading.." FontSize="20"  FontStyle="Italic" Foreground="Black"  HorizontalAlignment="Center" ></TextBlock>
        </StackPanel>
 </Grid>

你需要做的就像使用ProgessBar一样设置`GrdProgressBara的可见性。

希望它对你有所帮助:)。

答案 1 :(得分:1)

另一种方法是使用属性IsLoading,该属性在服务调用正在进行时为true,在调用完成后为false。然后,您可以使用转换器并将控件的IsEnabled属性绑定到反IsLoading值。因此,当您的服务调用正在运行时,所有控件都将被禁用,并且当调用完成时,将重新启用该控件。您只需要设置IsLoading属性并在XAML中绑定。无需其他代码。