【问题标题】:Show message when a Group contains no elements in a Grouped ListView当 Group 在 Grouped ListView 中不包含任何元素时显示消息
【发布时间】:2016-06-02 00:49:27
【问题描述】:

我已经实现了一个 Grouped ListView,其中包含两个组,根据 James Montemagno 关于该主题的博客文章:Enhancing Xamarin.Forms ListView with Grouping Headers

与 James 的示例相反,我必须展示所有可能的组(在他的示例中,类似于从 A 到 Z 的所有组)。

其中一个组是empty,我想显示一条消息,例如“此组没有猴子”。

对于未分组的 ListView,这很简单,但我不知道如何在启用 Grouped 时实现这一点。

我认为在此处添加我的代码不会有任何不同,但是...如果我错了,请告诉我。 :)

-- 编辑#1: 我为此列表使用了特定的 DataTemplate(具有相同标签和图像的框架),这不适合仅向用户显示消息。

【问题讨论】:

  • 你想在组头或组下的项目中显示“no monkeys”文本吗?
  • @hvaughan3 组下的一项。
  • 我认为查看您的代码可能会有所帮助,特别是您如何在ListView 中收集所需的数据,但想到的一个想法是简单地收集所有数据,然后为每个空组插入一个项目,其中包含您要显示的文本,在这种情况下,它将是 "There are no " + groupName + " for this Group" 或类似的东西。这对您的实施有用吗?这需要您事先了解所有可能的组。
  • 我更新了我的问题,但我在尝试简化代码以创建一个体面的示例时让它工作了。

标签: xamarin.forms


【解决方案1】:

在创建代码示例时,我设法通过向 Grouping 类添加 IsEmpty 属性来完成它:

public bool IsEmpty { get { return Items.Count == 0; } }

ListView 的 GroupHeaderTemplate 看起来像这样(简化):

<ListView.GroupHeaderTemplate>
            <DataTemplate>
              <ViewCell>
                    <StackLayout>
                        <Label Text="{Binding Title}"/>
                        <Label IsVisible="{Binding IsEmpty}" Text="This group is empty." />
                  </StackLayout>
              </ViewCell>
            </DataTemplate>
          </ListView.GroupHeaderTemplate>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 2018-10-07
    相关资源
    最近更新 更多