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

C# Forms:GroupHeaderTemplate不可见,项目也不可见,但似乎部分呈现,c#,android,listview,xamarin,xamarin.forms,C#,Android,Listview,Xamarin,Xamarin.forms,我在Xamarin.Forms中为一个未呈现的ListView元素创建了一个GroupHeaderTemplate。您可以选择标题,然后打开快速菜单。如果使用ListView元素GroupDisplayBinding的属性,则可以成功呈现组,但是当我指定ListView的GroupHeaderTemplate属性时,不会呈现任何内容。在这两种情况下,我的ListView ItemTemplate都不会呈现。如果删除标题,ItemTemplate将按预期呈现 <ResourceDiction

我在Xamarin.Forms中为一个未呈现的ListView元素创建了一个GroupHeaderTemplate。您可以选择标题,然后打开快速菜单。如果使用ListView元素GroupDisplayBinding的属性,则可以成功呈现组,但是当我指定ListView的GroupHeaderTemplate属性时,不会呈现任何内容。在这两种情况下,我的ListView ItemTemplate都不会呈现。如果删除标题,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>

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


不确定它是否相关,但您的xaml有一个带有小“d”的dateConverter,而您的类则以大写“d”命名,谢谢,但这不是问题。DateConverter被声明为ResourceDictionary。我更新了代码示例。
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();
    }
}