我有一个非常简单的主 - 详细视图,左边是会议列表,主要区域是选定的会议详情。
有些会议细节屏幕较大且可滚动。
我遇到的问题是:
向下滚动会议#11
选择会议#2后
我所做的只是更改详细信息屏幕的绑定上下文。
这是某种错误/功能还是什么? 我可以尝试添加一些代码,在选定项目更改后滚动到顶部,但我想避免这种情况,特别是我的ListView包含一个标题,并且只有API可以滚动到第一个项目元素。 / p>
Xamarin Studio 6.1.2(build 44)
Xamarin表格2.3.2.127
更新1 - 添加了页面XAML
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ListViewScrollToTop"
x:Class="ListViewScrollToTop.ListViewScrollToTopPage">
<StackLayout Orientation="Horizontal" Spacing="0">
<ListView x:Name="MeetingsView" WidthRequest="300" VerticalOptions="Fill"
SeparatorVisibility="None"
BackgroundColor="Teal"
ItemTapped="OnMeetingTapped">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Text="{Binding Title}"/>
<Label Grid.Row="1" Text="{Binding Location}"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<ListView x:Name="MeetingDetailsView"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
SeparatorVisibility="None"
BackgroundColor="Blue"
HasUnevenRows="true"
Header="{Binding .}"
ItemsSource="{Binding .}">
<ListView.HeaderTemplate>
<DataTemplate>
<Grid BackgroundColor="White" RowSpacing="0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Text="{Binding Title}"/>
<Label Grid.Row="1" Text="{Binding Location}"/>
</Grid>
</DataTemplate>
</ListView.HeaderTemplate>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<StackLayout Orientation="Vertical" Spacing="10" Padding="12" BackgroundColor="Yellow">
<Label Text="{Binding Name}"/>
<local:RepeaterView Spacing="1"
ItemsSource = "{Binding Documents}"
VerticalOptions="Start">
<local:RepeaterView.ItemTemplate>
<DataTemplate>
<Label Text="{Binding Name}" TextColor="Black" BackgroundColor="Olive" Margin="12"/>
</DataTemplate>
</local:RepeaterView.ItemTemplate>
</local:RepeaterView>
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage>
更新2 - 添加了Android测试反馈
我无法在Android上重现此错误,只有iOS。
更新3 - 没有标题的测试
即使我删除了详细信息标题,我也可以观察到这个问题。
更新4 - 显示问题的链接解决方案