I've search and found that Sticky Header for ListView are with grouping. Are there any sample ListView with sticky header for non-grouping listview? Could anyone advise me please? Currently I've done as shown below.
<ListView.Header>
<Grid BackgroundColor="Gray" ColumnSpacing="0" RowSpacing="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Text="Column 1" Grid.Column="0" Grid.Row="0" />
<Label Text="Column 2" Grid.Column="1" Grid.Row="0"/>
<Label Text="Column 3" Grid.Column="2" Grid.Row="0"/>
</Grid> </ListView.Header>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackLayout Grid.Column="0" Orientation="Vertical" HorizontalOptions="StartAndExpand" VerticalOptions="Center">
<Label Text ="{Binding Item1}" ></Label>
<Label Text ="{Binding Item2}" ></Label>
<Label Text ="{Binding Item3}" ></Label>
</StackLayout>
<Label Grid.Column="1" Text ="{Binding Item4}" ></Label>
<Label Grid.Column="2" Text ="{Binding Item5}" ></Label>
</Grid>
</ViewCell>
</DataTemplate>
Do you want to achieve the header without using grouping? Just hover over listview like this GIF?
If so , you can move your code in ListView.Header to outside the listview like this code
<StackLayout>
<Grid BackgroundColor="Gray" ColumnSpacing="0" RowSpacing="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Text="Column 1" Grid.Column="0" Grid.Row="0" />
<Label Text="Column 2" Grid.Column="1" Grid.Row="0"/>
<Label Text="Column 3" Grid.Column="2" Grid.Row="0"/>
</Grid>
<ListView ItemsSource="{Binding DataList}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackLayout Grid.Column="0" Orientation="Vertical" HorizontalOptions="StartAndExpand" VerticalOptions="Center">
<Label Text ="{Binding Data.Name}" ></Label>
<Label Text ="{Binding Data.Name}" ></Label>
<Label Text ="{Binding Data.Name}" ></Label>
</StackLayout>
<Label Grid.Column="1" Text ="{Binding Data.Description}" ></Label>
<Label Grid.Column="2" Text ="{Binding Data.Description}" ></Label>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.