【发布时间】:2013-02-05 20:05:10
【问题描述】:
WrapPanel,因此我使用以下代码:
http://www.codeproject.com/Articles/24141/WrapPanel-for-Silverlight-2-0
我发现在Grid 中使用此代码存在问题。在我将WrapPanel 放入后,在行中呈现的任何控件,在同一行中呈现OVER WrapPanel。
就好像Grid 没有识别出WrapPanel 正在呈现内容,所以接下来的行中的所有控件都取而代之。
以图片为例。
关于如何解决这个问题的任何想法?
【问题讨论】:
-
如果在 WrapPanel 之后将它们添加到父 Grid 中,它们不应该呈现在 WrapPanel 之上吗?顺便说一句,在 WinRT XAML 工具包here 中有一个版本的
WrapPanel从 Silverlight 工具包移植到 WinRT。您应该能够通过设置这些控件的Canvas.ZIndex值来控制 Grid 子项的呈现顺序,以匹配所需的呈现顺序。我认为这在自定义面板中不起作用,但应该适用于Grid。 -
WrapPanel的另一个实现在此处的 Q42 库中:github.com/Q42/Q42.WinRT/blob/master/Q42.WinRT/Controls/… -
一个单独的单元格专门用于 WrapPanel 及其后面的每个控件。如果控件被添加到同一个单元格,则它们只能在 Grid 中彼此叠加呈现。正如我所说,在这种情况下,它们都是分开的,但仍然呈现在 WrapPanel 之上。
-
也许该版本没有正确报告其宽度/高度,以 0 结尾,因此您的父 Grid 不会为 WrapPanel 的行分配任何空间。检查或尝试其他实现。
-
WinRT XAML Toolkit WrapPanel 完美运行!谢谢。
标签: windows-runtime windows-store-apps winrt-xaml wrappanel