如何将多行和多列绑定到列表视图?
Posted
技术标签:
【中文标题】如何将多行和多列绑定到列表视图?【英文标题】:How to bind multiple rows and columns to the list view? 【发布时间】:2019-04-24 15:58:37 【问题描述】:我的列表视图包含网格,我需要在网格内动态绑定多个行和列。
(Grid.Row 和 Grid.column 值从列表视图中获取)
这是我的 xaml 代码:
<ListView x:Name="xxxx" HasUnevenRows="True" SeparatorVisibility="None" VerticalOptions="FillAndExpand">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid BackgroundColor="White">
<Image Source = Binding image Grid.Row = Binding rowNo Grid.Column = Binding columnNo/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这是我的cs:
new item image = "x.png", rowNo = "1", columnNo = "0"
通过使用这个我得到一个输出 (例如:Grid.row =2 Grid.column =2 我的输出是:
1
1
1
1
我将它作为 4 行而不是 2 行)
如何解决这个问题???
【问题讨论】:
ListView 的每一行都将包含一个 Grid - 我认为这不是你想要的吗?如果您只想要一个网格,请查看使用可绑定布局 ***.com/questions/55758023/…。看看它是否是您正在寻找的东西。或者用一些实时例子来解释它,这样人们就可以看到你想要什么。 我想在单个网格中绑定多行多列。 【参考方案1】:我认为您可以使用CollectionView
控件中的VerticalGrid
选项来完成此操作。
请注意,CollectionView 仍处于预览状态,但将在 XF 4.0 中成为 RTM(当前估计值)。
不过,它已经可以使用了。
这里提到了细节https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/collectionview/layout#vertical-grid
当你创建你的 CollectionView 时,你可以像这样指定它应该使用多少列:
CollectionView collectionView = new CollectionView
...
ItemsLayout = new GridItemsLayout(2, ItemsLayoutOrientation.Vertical)
;
这将呈现 2 列布局。 看看这是否符合您的需求。
【讨论】:
以上是关于如何将多行和多列绑定到列表视图?的主要内容,如果未能解决你的问题,请参考以下文章