2 回答
TA贡献1798条经验 获得超7个赞
噗……缺陷多多。
1.为什么要把grid放在stacklayout中作为唯一的孩子?只需将网格直接放入滚动视图即可。MoreTileViewHolder.Children.Add(myGrid);
因此是无用的。只需替换<StackLayout x:Name="MoreTileViewHolder" />
为`。
2.您将所有“平铺”对象添加到网格的第 0 列和第 0 行myGrid.Children.Add(tile)
。
添加时必须指定行和网格,否则它们最终会在同一个位置。 myGrid.Children.Add(tile, iColumn, iRow)
看起来这就是你想要的。
我知道您正在尝试使用 Grid.Column 和 Grid.Row-Properties 上的绑定来执行此操作。但我想这并没有更新视图。我的猜测是这些属性是在错误的时间点更改的,因此将其添加到 Grid 不会产生影响。尽管如此,您必须向我们展示您的“MoreModel”课程。它也可能是,你没有使用正确BindableProperties,所以Grid.Column="{Binding column}"
就Frame
只是从来没有真的发生。
3.不要重新发明轮子。最新的 xamarin 版本包括“FlexLayout”,我相信它可以满足您在此处创建的意图。Xamarin FlexLayout
TA贡献1943条经验 获得超7个赞
我不明白“2。您将所有“平铺”对象添加到网格 myGrid.Children.Add(tile) 的第 0 列和第 0 行。”,怎么会?我正在遍历所有项目和设置:
model.row = iRow; model.column = iColumn;
并且绑定也应该是正确的,因为我正确地获得了标签中的标题。
- 2 回答
- 0 关注
- 183 浏览
添加回答
举报