运行 Windows Phone RT / 10 中的任务如何屏蔽屏幕?

how block screen while running a task in Windows Phone RT / 10?

我正在为 Windows 10 创建应用程序,我想知道如何在单击按钮后执行任务时锁定屏幕?

  private void UxBtnProximo_Click(object sender, RoutedEventArgs e)
    {
        if (dia > 0)
        {
            dia -= 1;
            DefinePapelParede();
        }

        if(dia == 0)
        {
            UxBtnProximo.Visibility = Visibility.Collapsed;
        }
        else
        {
            UxBtnProximo.Visibility = Visibility.Visible;
        }
    }

Datail,按钮在框架中而不是在屏幕中

<SplitView.Content>

        <Frame x:Name="UxFrmPrincipal">
            <Frame.ContentTransitions>
                <TransitionCollection>
                    <NavigationThemeTransition>
                        <NavigationThemeTransition.DefaultNavigationTransitionInfo>
                            <EntranceNavigationTransitionInfo/>
                        </NavigationThemeTransition.DefaultNavigationTransitionInfo>
                    </NavigationThemeTransition>
                </TransitionCollection>
            </Frame.ContentTransitions>
        </Frame>

    </SplitView.Content>

这是进入此框架的页面

<Grid x:Name="PrincipalGrid">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="250"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="100"></RowDefinition>

            </Grid.RowDefinitions>


            <StackPanel Grid.Row="0">
            </StackPanel>
            <StackPanel Grid.Row="1">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="100"></ColumnDefinition>
                        <ColumnDefinition Width="*"></ColumnDefinition>
                        <ColumnDefinition Width="100"></ColumnDefinition>
                    </Grid.ColumnDefinitions>

                    <Grid.RowDefinitions>
                        <RowDefinition Height="100"></RowDefinition>
                    </Grid.RowDefinitions>

                    <StackPanel HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Row="0" Grid.Column="0">
                        <Button x:Name="UxBtnAnterior" FontSize="60" FontFamily="Segoe MDL2 Assets" Content="&#xE96F;" Foreground="White" Background="Transparent"></Button>
                    </StackPanel>

                    <StackPanel HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="0" Grid.Column="2">
                        <Button x:Name="UxBtnProximo" FontFamily="Segoe MDL2 Assets" FontSize="60" Content="&#xE970;" Foreground="White" Background="Transparent"></Button>
                    </StackPanel>
                </Grid>

            </StackPanel>

            <StackPanel Grid.Row="2" Background="#66000000" VerticalAlignment="Center" HorizontalAlignment="Center">
                <Button x:Name="UxBtnSetWallPaper" FontSize="50" Foreground="#FFFFFF" Content="Aplicar"></Button>
            </StackPanel>

            <Popup IsOpen="True" x:Name="UxPopCarregando">
                <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" UseLayoutRounding="True">
                    <StackPanel  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" UseLayoutRounding="True">
                        <ProgressRing Height="200" Width="200" UseLayoutRounding="True" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Gray">
                    </ProgressRing>
                </StackPanel>
                </Grid>
            </Popup>


        </Grid>

我试了弹窗,还是不行,可能是我用错了。求助!

这可以通过在您的页面上添加一个简单的叠加层来轻松实现

<Page>
    <Grid>
        <!-- regular content here -->
    <Grid x:Name="BlockIt" Visibility="Collapsed" Background="#55ffffff"/>
</Page>

当您想停止用户交互时,更改 BlockIt 网格的可见性

BlockIt.Visibility = Visibility.Visible;