Xamarin.Forms:GroupHeaderTemplate 不可见,项目也不可见,但似乎部分呈现

Xamarin.Forms: GroupHeaderTemplate is not visible, neither are the items but seems to partially render

我在 Xamarin.Forms 中有一个 GroupHeaderTemplate 用于未呈现的 ListView 元素。您可以 select header 并调出快捷菜单。如果我使用 ListView 元素 GroupDisplayBinding 的 属性,我可以成功呈现这些组,但是当我指定 ListView 的 GroupHeaderTemplate 属性 时,没有任何呈现。在这两种情况下,我的 ListView ItemTemplate 都不会呈现。如果我删除 header,ItemTemplate 按预期呈现。

<ResourceDictionary>
      <local:DateConverter x:Key="dateConverter" />
    </ResourceDictionary>
  </ContentPage.Resources>   
<ListView x:Name="barGraphListView" ItemsSource="{x:Static local:BarGraphModelColl.bgModelColl}"
              IsGroupingEnabled="True"
              HasUnevenRows="True" HorizontalOptions="FillAndExpand" VerticalOptions="EndAndExpand">
      <ListView.GroupHeaderTemplate>
        <DataTemplate>
          <ViewCell Height="25">
            <Label Text="{Binding Date, Converter={StaticResource dateConverter}}" TextColor="White" />
          </ViewCell>
        </DataTemplate>
      </ListView.GroupHeaderTemplate>
      <ListView.ItemTemplate>
        <DataTemplate>
            <StackLayout Orientation="Vertical" Padding="0,10">
              <Label Text="{Binding DataCategory}" />
              <BoxView WidthRequest="{Binding BarHeight}" HorizontalOptions="Start" Color="Blue" HeightRequest="20" />
            </StackLayout>
        </DataTemplate>
      </ListView.ItemTemplate>
    </ListView>

这是我的转换器

class DateConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo cultureInfo)
    {
        DateTime dateTime = (DateTime)value;
        return String.Format("{0:dddd, MMMM d, yyyy}", dateTime);
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo cultureInfo)
    {
        throw new NotImplementedException();
    }
}

您需要在 ListView 上指定 GroupDisplayBinding 属性,以便它知道要显示和绑定到的内容。您可能想在这里使用我的分组,您甚至不需要使用您的转换器,因为它只是您的密钥。

http://motzcod.es/post/94643411707/enhancing-xamarin-forms-listview-with-grouping