gpt4 book ai didi

c# - 布局周期检测到两个 progressRings 错误

转载 作者:太空狗 更新时间:2023-10-29 19:47:51 25 4
gpt4 key购买 nike

我想创建一个带有两个网格的自定义用户控件,我想在其中加载图像,并且在加载图像之前我想显示 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 时它工作正常,但是当有两个时我的程序崩溃并出现以下错误:Layout cycle detected。布局无法完成​​

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

最佳答案

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

在您的情况下,原因可能与对齐方式和大小有关。您应该可以通过简化布局来解决问题。保留外部 Grid 但添加 5 个 ColumnDefinitions,中间的宽度为 *,其他宽度为 Auto。摆脱其他 4 个网格。相反,将两个图像和进度环直接放入主网格中的第 0、1、3 和 4 列(使用 Grid.Column 附加属性)。将所需的大小放在图像和进度环的宽度和高度属性上,而不是在网格上。

关于c# - 布局周期检测到两个 progressRings 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30176063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com