在Windows Phone 8中检测到Layouy周期异常

本文关键字:Layouy 周期 异常 检测 Windows Phone | 更新日期: 2023-09-27 18:21:20

我有一个LongListSelector,它包含一个位置列表,为了对它们进行排序,我有了一个列表选择器和一个用于搜索的文本框,以及用于选择类别的列表选择器。。但当我选择一些特定的类别时,它会直接进入调试器。它显示的中断和异常是检测到布局循环。

我无法检测到这个问题,因为它甚至没有在try/catch中被捕获。

当我在网上搜索这个问题时,它说你不应该调用任何布局更新事件,但这种情况对我来说是不可能的,因为我的列表必须根据排序进行更新。

如果有任何想法如何解决这个问题,请帮助。。。。。

在Windows Phone 8中检测到Layouy周期异常

找到了只需要设置视图中网格的最小高度的问题的解决方案。。。。

在我的情况下,我在ArrangeOverride函数中犯了一个错误。在某个地方,我进行了一次计算,使元素与负的X和Y值对齐(因为我除以某个地方的项目数减去2,当添加1个元素时,会产生负数)。

将子元素定位在负左边距和上边距(至少在边界之外)似乎会触发新的布局更新,尽管我找不到它的来源。

您可以使用Loaded事件而不是Layout Update事件,这样您就可以解决这个问题。它对我有效。