From 0623943dccad5c44831b2ad4a803eab2436e45e6 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Mon, 1 Apr 2013 12:05:02 +0400 Subject: Using WPToolkit LongListSelector --- Juick/Classes/ScrollViewerMonitor.cs | 64 ------------------------------------ 1 file changed, 64 deletions(-) delete mode 100644 Juick/Classes/ScrollViewerMonitor.cs (limited to 'Juick/Classes/ScrollViewerMonitor.cs') diff --git a/Juick/Classes/ScrollViewerMonitor.cs b/Juick/Classes/ScrollViewerMonitor.cs deleted file mode 100644 index 4e96797..0000000 --- a/Juick/Classes/ScrollViewerMonitor.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Input; -using System.Windows.Media; - -namespace Juick.Classes -{ - public class ScrollViewerMonitor - { - public static DependencyProperty AtEndCommandProperty = - DependencyProperty.RegisterAttached("AtEndCommand", typeof(ICommand), typeof(ScrollViewerMonitor), new PropertyMetadata(OnAtEndCommandChanged)); - - public static ICommand GetAtEndCommand(DependencyObject obj) - { - return (ICommand)obj.GetValue(AtEndCommandProperty); - } - - public static void SetAtEndCommand(DependencyObject obj, ICommand value) - { - obj.SetValue(AtEndCommandProperty, value); - } - - public static void OnAtEndCommandChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) - { - var element = (FrameworkElement)d; - if (element != null) - { - element.Loaded -= element_Loaded; - element.Loaded += element_Loaded; - } - } - - static void element_Loaded(object sender, RoutedEventArgs e) - { - var element = (FrameworkElement)sender; - element.Loaded -= element_Loaded; - var scrollViewer = (ScrollViewer)element.Parent; - if (scrollViewer == null) - { - throw new InvalidOperationException("ScrollViewer not found."); - } - - var listener = new DependencyPropertyListener(); - listener.Changed += (s, eArgs) => - { - var atBottom = scrollViewer.VerticalOffset >= scrollViewer.ScrollableHeight - scrollViewer.ScrollableHeight/3; - if (atBottom) - { - var atEnd = GetAtEndCommand(element); - if (atEnd != null && atEnd.CanExecute(null)) - { - atEnd.Execute(null); - } - } - }; - var binding = new Binding("VerticalOffset") { Source = scrollViewer }; - listener.Attach(scrollViewer, binding); - } - } -} -- cgit v1.2.3