Windows Phone ListBox Flicking Behavior

Все

Прокручивая ListBox до вершины, если я все еще держу свой ладонь, список будет сжат бит liitle, но он будет отскакивать назад, как обычно, когда я отпустил кран. Можно ли каким-либо образом обнаружить это поведение?

В настоящее время я использую этот код, чтобы поймать событие прокрутки, но пока список достиг вершины или конца, значения всегда будут равны 0 или как высота списка, даже если я сделаю жест, как описано выше.

void PageLoaded(object sender, RoutedEventArgs e)
    {
        List scrollBarList = GetVisualChildCollection(listBox1);
        foreach (ScrollBar scrollBar in scrollBarList)
        {
            if (scrollBar.Orientation == System.Windows.Controls.Orientation.Horizontal)
            {
                scrollBar.ValueChanged += new RoutedPropertyChangedEventHandler(horizontalScrollBar_ValueChanged);
            }
            else
            {
                scrollBar.ValueChanged += new RoutedPropertyChangedEventHandler(verticalScrollBar_ValueChanged);
            }
        }      
    }

    private void horizontalScrollBar_ValueChanged(object sender, RoutedEventArgs e)
    { 
    }

    private void verticalScrollBar_ValueChanged(object sender, RoutedEventArgs e)
    {
        ScrollBar scrollBar = (ScrollBar)sender;
        object valueObj = scrollBar.GetValue(ScrollBar.ValueProperty);
        object maxObj = scrollBar.GetValue(ScrollBar.MaximumProperty);
        if (valueObj != null && maxObj !=null)
        {
            double value = (double)valueObj;
            double max = (double)maxObj;

            System.Diagnostics.Debug.WriteLine(value);
            System.Diagnostics.Debug.WriteLine(max);
        }
    }

    void btnDelete_Click(object sender, EventArgs e)
    {
        ((ObservableCollection)listBox1.ItemsSource).Remove("hello1");
        listBox1.ScrollIntoView(listBox1.Items[listBox1.Items.Count()-1]);
    }

    public static List GetVisualChildCollection(object parent) where T : UIElement
    {
        List visualCollection = new List();
        GetVisualChildCollection(parent as DependencyObject, visualCollection);
        return visualCollection;
    }
    private static void GetVisualChildCollection(DependencyObject parent, List visualCollection) where T : UIElement
    {
        int count = VisualTreeHelper.GetChildrenCount(parent);
        for (int i = 0; i < count; i++)
        {
            DependencyObject child = VisualTreeHelper.GetChild(parent, i);
            if (child is T)
            {
                visualCollection.Add(child as T);
            }
            else if (child != null)
            {
                GetVisualChildCollection(child, visualCollection);
            }
        }
    }
1
добавлено
Просмотры: 1
Какова цель этого?
добавлено автор Factor Mystic, источник
Какова цель этого?
добавлено автор Factor Mystic, источник
Ох, так что это затягивает. Вы должны знать, что pull-to-refresh не является стандартным шаблоном на телефоне Windows и что ни одно из сторонних приложений не реализует его. Вот альтернативы: windowsphonepatterns.net/uap_pattern/refresh
добавлено автор Factor Mystic, источник
Ох, так что это затягивает. Вы должны знать, что pull-to-refresh не является стандартным шаблоном на телефоне Windows и что ни одно из сторонних приложений не реализует его. Вот альтернативы: windowsphonepatterns.net/uap_pattern/refresh
добавлено автор Factor Mystic, источник
добавлено автор Factor Mystic, источник
добавлено автор Factor Mystic, источник
добавлено автор Factor Mystic, источник
добавлено автор Factor Mystic, источник
добавлено автор Factor Mystic, источник
Цель заключается в добавлении действия в список, в то время как пользователь прокручивает список до вершины, если пользователь запускает событие «flick», тогда приложение загрузит некоторое новое содержимое в начало списка.
добавлено автор Vincent, источник
Цель заключается в добавлении действия в список, в то время как пользователь прокручивает список до вершины, если пользователь запускает событие «flick», тогда приложение загрузит некоторое новое содержимое в начало списка.
добавлено автор Vincent, источник
Цель заключается в добавлении действия в список, в то время как пользователь прокручивает список до вершины, если пользователь запускает событие «flick», тогда приложение загрузит некоторое новое содержимое в начало списка.
добавлено автор Vincent, источник