自定义组标题
如果您不喜欢Xamarin.Forms提供的组头的特定样式,那么您可以做些什么。 不是将绑定设置为GroupDisplayBinding属性,而是将DataTemplate设置为GroupHeaderTemplate属性:
<ListView ItemsSource="{x:Static toolkit:NamedColorGroup.All}"
IsGroupingEnabled="True"
GroupShortNameBinding="{Binding ShortName}">
__
<ListView.GroupHeaderTemplate>
<DataTemplate>
<ViewCell>
<Label Text="{Binding Title}"
BackgroundColor="{Binding ColorShade}"
TextColor="Black"
FontAttributes="Bold,Italic"
HorizontalTextAlignment="Center"
VerticalTextAlignment="Center">
<Label.FontSize>
<OnPlatform x:TypeArguments="x:Double"
iOS="30"
Android="30"
WinPhone="45" />
</Label.FontSize>
</Label>
</ViewCell>
</DataTemplate>
</ListView.GroupHeaderTemplate>
</ListView>
请注意,Label具有固定的黑色文本颜色,因此BackgroundColor属性应设置为与文本形成良好对比度的光。 NamedColorGroup类可以使用这种颜色作为ColorShade属性。 这允许标题的背景反映与该组相关的主要色调:
请注意最顶层项目的标题如何在iOS和Windows 10 Mobile的顶部保持固定,并且仅当另一个标题替换它时才滚动屏幕顶部。