C# 布局周期检测到两个ProgressRing的错误

C# 布局周期检测到两个ProgressRing的错误,c#,xaml,user-controls,windows-phone-8.1,C#,Xaml,User Controls,Windows Phone 8.1,我想创建一个带有两个网格的自定义用户控件,我想在其中加载图像,在加载图像之前,我想显示progressRing控件。当我添加第二个ProgressRing时,问题就出现了。我的XAML如下所示: <Grid Margin="0,0,0,21" Background="{ThemeResource PhoneAccentBrush}"> <Grid x:Name="leftImage" Margin="10" Width="190" Height="190"

我想创建一个带有两个网格的自定义用户控件,我想在其中加载图像,在加载图像之前,我想显示progressRing控件。当我添加第二个ProgressRing时,问题就出现了。我的XAML如下所示:

<Grid Margin="0,0,0,21" Background="{ThemeResource PhoneAccentBrush}">

        <Grid x:Name="leftImage" Margin="10" Width="190" Height="190" 
              HorizontalAlignment="Left">
            <Image x:Name="imageHolderLeft" x:FieldModifier="public" Width="180"         
                   Height="180" ImageFailed="imageHolderLeft_ImageFailed" 
                   ImageOpened="imageHolderLeft_ImageOpened"/>
            <Grid>
                <ProgressRing x:Name="waitImageLeft" IsActive="True" 
                              VerticalAlignment="Center" HorizontalAlignment="Center" 
                              Background="Transparent" 
                              Foreground="{ThemeResource AppBarBackgroundThemeBrush}"/>
            </Grid>
        </Grid>

        <Grid x:Name="rightImage" Margin="10" Width="190" Height="190" 
              HorizontalAlignment="Right">
            <Image x:Name="imageHolderRight" x:FieldModifier="public" Width="180" 
                   Height="180" ImageOpened="imageHolderRight_ImageOpened" 
                   ImageFailed="imageHolderRight_ImageFailed"/>
            <Grid>
                <ProgressRing x:Name="waitImageRight" IsActive="True" 
                              VerticalAlignment="Center" HorizontalAlignment="Center" 
                              Background="Transparent" 
                              Foreground="{ThemeResource AppBarBackgroundThemeBrush}"/>
            </Grid>
        </Grid>

    </Grid>

因此,当我注释掉一个
ProgressRing
时,它工作正常,但当有两个时,我的程序崩溃,出现以下错误:
检测到布局周期。布局无法完成

有人知道为什么吗?
谢谢:)

此错误表示元素的布局依赖于间接依赖于原始元素的其他元素。Windows无法确定总体布局。。。很像无限循环或无限递归


在您的情况下,原因可能与路线和尺寸有关。你应该能够通过简化布局来解决这个问题。保留外部网格,但添加5个列定义,中间一个具有宽度*,另一个具有自动宽度。去掉其他4个网格。相反,将两个图像和进度环直接放入第0、1、3和4列的主网格中(使用Grid.Column attached属性)。将所需尺寸放在图像和进度环的宽度和高度属性上,而不是放在网格上。

实际上,您没有提到错误。正在引发哪个异常?完整的错误消息:“检测到布局周期。布局无法完成”是否可以尝试为所有使用的元素指定特定的高度和宽度?是否执行了此操作。甚至尝试到和最大/最小宽度/高度,但没有结果从中删除您的width=“190”height=“190”。网格喜欢拉伸。如果不想拉伸,请使用StackPanel或在图像和进程控件上设置宽度/高度。