滚动查看器的事件滚动到顶部并继续在Windows手机中滚动?

时间:2014-10-16 06:23:37

标签: .net wpf xaml windows-phone windows-phone-8.1

在桌面应用程序中,当我们将列表滚动到顶部时,通常我们无法再滚动。但是在手机中,我们将列表拖到顶部并继续拖动,将显示一些空白区域。如下例所示。

当用户滚动列表正常时,我可以订阅ViewChanged事件以知道列表正在滚动。但是在列表滚动到顶部并继续滚动之后,scrollviewer的垂直偏移量已经为0并且不会更改,并且不会触发ViewChanged事件。

我的问题是有没有办法知道列表被拖到顶部并继续拖动?

我的目标平台是Windows Phone 8.1和我的示例代码:

<Grid>
    <Frame >
        <Grid>
            <ScrollViewer x:Name="TopViewer">
                <StackPanel >
                    <Grid Background="Blue" Height="10"/>
                    <local:CustomListView x:Name="List" 
                                          Background="LightBlue">
                        <ListView.ItemTemplate>
                            <DataTemplate>
                                <TextBlock FontSize="15" Foreground="Black" Text="{Binding}"/>
                            </DataTemplate>
                        </ListView.ItemTemplate>
                    </local:CustomListView>
                </StackPanel>
            </ScrollViewer>
        </Grid>
    </Frame>
</Grid>

xaml.cs

        List<string> l = new List<string>();
        Random r = new Random();
        for (int i = 0; i < 30; i++)
        {
            l.Add(r.Next().ToString());
        }
        List.ItemsSource = l;

enter image description here

1 个答案:

答案 0 :(得分:0)

这是按照Windows Phone(以及Windows 8)设计的。它是UI的一个设计元素,因此用户可以理解您实际上处于最顶层,并且没有更多内容可供查看。所以这实际上是在框架中实现的,你无法改变它。这对您的代码没有任何问题。