gpt4 book ai didi

ListView Y 滚动位置

转载 作者:行者123 更新时间:2023-12-01 13:25:50 27 4
gpt4 key购买 nike

有没有办法获取 ListView 的 Y 滚动位置?我的目标是在用户滚动 ListView 时更改图像的 TranslationY 属性。我在使用 ScrollView 之前已经实现了这一点:

outerScrollView.Scrolled += (sender, e) => {
var imageHeight = 800;
var scrollRegion = layeringGrid.Height - outerScrollView.Height;
var parallexRegion = imageHeight - outerScrollView.Height;
var factor = outerScrollView.ScrollY - parallexRegion * (outerScrollView.ScrollY / scrollRegion);
imagesCarousel.TranslationY = factor;
};

但是,listview 不包含 Scrolled 事件。

提前致谢。

最佳答案

ListViews默认有一个scroll,不知道为什么你的ListView没有包含Scrolled事件。

然而,一旦您的 ListView 默认没有滚动,您必须像这样在 xml 中创建一个覆盖您的 ListView 的 ScrollView :

<ScrollView x:Name="outerScrollView">
<ListView
x:Name="ItemsListView"
ItemsSource="{Binding Messages}"
HasUnevenRows="True"
/>
</ScrollView>

然后一旦你在事件 e 中,你应该使用 e.ScrollY 而不是 outerScrollView.ScrollY

在上面的代码中实现它应该是这样的:

outerScrollView.Scrolled += (sender, e) => {
var imageHeight = 800;
var scrollRegion = layeringGrid.Height - e.Height;
var parallexRegion = imageHeight - e.Height;
var factor = e.ScrollY - parallexRegion * (e.ScrollY / scrollRegion);
imagesCarousel.TranslationY = factor;
};

这就是你的滚动垂直位置!

关于 ListView Y 滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46223982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com