如何使用带有集合视图的简单列表

Posted

技术标签:

【中文标题】如何使用带有集合视图的简单列表【英文标题】:How to user a simple list with a collection view 【发布时间】:2021-09-14 13:03:22 【问题描述】:

我有一个名为 mylist 的 List 对象,其中包含一个字符串列表,这些字符串表示存储在数据库中的名称。我想在集合视图中显示此列表。到目前为止,我已经能够将集合视图 itemsource 属性设置为 mylist,它工作正常。当我这样做时,它会在集合视图的默认模式下向我显示列表,这是一个垂直列表。现在,我想通过将列表放入网格中并使其看起来不错,从而对列表实际应用一些格式。这就是我的问题所在。微软文档中的所有示例都将集合视图的绑定设置为某个类,然后将列表中视图的绑定设置为该类的属性。对我来说,问题在于我没有使用 MVVM 架构。我没有将绑定设置为类。我想直接将其设置为列表对象。到目前为止,这就是我的 xaml

    <CollectionView.ItemTemplate>
        <DataTemplate>
            <Grid Padding="10">
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />              
                </Grid.ColumnDefinitions>                
                <Label Grid.Row="0"
                       Grid.Column="0"
                       Text=**WHAT DO I PUT HERE**
                       FontAttributes="Bold" />
                <Label Grid.Row="1"
                       Grid.Column="0"
                       Text=**WHAT DO I PUT HERE**
                        />
            </Grid>
        </DataTemplate>
    </CollectionView.ItemTemplate>
    ...
</CollectionView>
从我的文件后面的代码中是相关的 sn-p ```Collection.Itemsource = mylist; ``` 如您所见,我想在我创建的标签文本中显示列表字符串中的数据。但我不知道如何引用该数据。我已经尝试过 mylist[0] 但这不起作用

【问题讨论】:

【参考方案1】:

如果您的ItemSourceList&lt;string&gt;

Text=**WHAT DO I PUT HERE**

应该是

Text="Binding ."

. 告诉它使用对象本身的值,而不是对象的属性

【讨论】:

哇,这超级简单。谢谢!如果你不介意,再问一个问题。如果我最终改变主意,而不是使用 List 作为 mylist,而是使用 ObservableCollection 作为 itemsource,该怎么办?它仍然可以正常工作吗?谢谢

以上是关于如何使用带有集合视图的简单列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用按钮从集合视图(网格视图)切换到表格视图(列表视图)?

如何使用自定义列表视图在edittext过滤器中获取空间?可以使用简单的适配器吗?

Xamarin Forms:如何通知我以前的视图模型而不是需要修改可观察集合?

如何使用 BaseAdapter 刷新带有文本和图像的列表视图?

如何在 swift 中使用 IGListKit 创建一个两列集合视图列表

绑定视图 - 如何从子列表中获取父属性的详细信息