【发布时间】:2020-12-17 05:06:51
【问题描述】:
我有收藏视图。见下面代码
<CollectionView ItemsSource="{Binding photos}" HeightRequest="300"
ItemSizingStrategy="MeasureAllItems" Margin="10,0,10,0"
x:Name="photosView"
ItemsUpdatingScrollMode="KeepScrollOffset">
<CollectionView.ItemsLayout>
<GridItemsLayout Orientation="Vertical" Span="3" />
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<StackLayout Padding="2">
<Frame BackgroundColor="Red" HeightRequest="79" WidthRequest="53" Padding="0" Margin="0"
IsClippedToBounds="True" HasShadow="False" CornerRadius="10">
<Image Aspect="AspectFill" Source="{Binding imageUrl}"/>
</Frame>
</StackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
我正在显示 3 行 3 列的图像。如果我有超过 9 张图片,那么我会显示 Button,上面写着 Scroll for more photos。现在点击图片我有下面的代码
void OnScrollMore(System.Object sender, System.EventArgs e)
{
//photosView.SendScrolled(new ItemsViewScrolledEventArgs() { FirstVisibleItemIndex = 0 });
photosView.ScrollTo(photosView.Y + 10, position: ScrollToPosition.MakeVisible, animate: true);
}
但是什么都没有发生。它没有滚动到下一行。
有什么建议吗?
【问题讨论】:
-
你的“照片”是不是一开始有9项,点击按钮后,显示其余按钮?
-
先检查photosView.Y的值是否正确。您可以选择scroll to an item。
标签: xamarin.forms