Q:

Showing a progress ring on top of other controls ( ZIndex ) in a view

I am making a UWP and I already have a ListView in my view. When I click a ListViewItem, I make a call to an API and then Navigate to a different page passing along the response of the called API. What I want to do is that while the API is being called I want to show a progress ring ( until navigation occurs )
This is my present XAML:
<Grid>
    <ProgressRing Name="MyProgressRing" Grid.Row="0" Height="100" Width="100" Foreground="Red" IsActive="True" Visibility="Visible" />
            <ListView   Name="SearchResultListView"
                        SelectionMode="Single"
                        IsItemClickEnabled="True"
                        ItemClick="SearchResultListView_ItemClick">

                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                    </Style>
                </ListView.ItemContainerStyle>

                <ListView.ItemTemplate>
                    <DataTemplate x:DataType="ViewModel:SearchResultViewModel">

                        <Grid Style="{StaticResource SearchResultListViewStyle}">
                            <Grid.RowDefinitions>
                                <RowDefinition></RowDefinition>
                                <RowDefinition></RowDefinition>
                                <RowDefinition></RowDefinition>
                                <RowDefinition></RowDefinition>
                                <RowDefinition></RowDefinition>
                                <RowDefinition></RowDefinition>
                            </Grid.RowDefinitions>

                            <StackPanel Grid.Row="0">
                                <TextBlock Text="{x:Bind Name}"
                                    Grid.Row="0"/>
                            </StackPanel>

                            <TextBlock Text="{x:Bind Source}"
                                    Grid.Row="1"/>

                            <TextBlock Text="{x:Bind Author}"
                                    Grid.Row="2"/>

                            <TextBlock Text="{x:Bind EducationalLevel}"
                                    Grid.Row="3"/>

                            <StackPanel Orientation="Horizontal"
                                        Grid.Row="4">
                                <Border Background="Gray"
                                        Padding="3"
                                        CornerRadius="1">
                                    <TextBlock Text="{x:Bind Language}"
                                                FontSize="12"
                                                Margin="0, 0, 0, 2"/>
                                </Border>
                            </StackPanel>
                        </Grid>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
    <RelativePanel>

        <Button Name="FilterButton"
                Foreground="Red"
                Width="85"
                Height="85" 
                BorderBrush="Blue"
                RelativePanel.AlignRightWithPanel="True"
                RelativePanel.AlignBottomWithPanel="True"
                Margin="0, 0, 40, 30"
                Style="{StaticResource CircleButtonStyle}"
                Click="FilterButton_Click">
            <Grid Width="60"
                    Height="60">
                <Ellipse Height="60" Width="60">
                    <Ellipse.Fill>
                        <ImageBrush ImageSource="/Assets/LandingPageLogos/LearningResourceTypeList/Article.png"/>
                    </Ellipse.Fill>
                </Ellipse>
            </Grid>
        </Button>

    </RelativePanel>
</Grid>

I want my ProgressRing to be on top of this ListView and in the middle of this page when I make MyProgressRing.Visibility = Visibility.Visible.

A:

You have to change your layout and place ProgressRing over content elements. 
For example: 
<Grid>
    <Grid>
    <!-- your content here -->
    </Grid>

    <ProgressRing Name="MyProgressRing" Grid.Row="0" Height="100" VerticalAlignment="Center" HorizontalAlignment="Center" Width="100" Foreground="Red" IsActive="True" Visibility="Visible" />
</Grid>

A:

@AVK and @Andrii Krupka have a good method.
But I think you may set the Zindex to show progress ring.
The code is below:
<ProgressRing Name="MyProgressRing" Grid.Row="0" Height="100" VerticalAlignment="Center" HorizontalAlignment="Center" Width="100" Foreground="Red" IsActive="True" Visibility="Visible" Canvas.ZIndex="10000000" />

10000000 is a number more than the number of all your controls.
The other method is set the ProgressRing in code:
   MyProgressRing.SetValue(Canvas.ZIndexProperty,int.MaxValue);

