In Windows Phone 8, the new LongListSelector removed support for the Stretching events, which allowed your app to react when the user scrolled beyond the end of the list. With this events, you could easily implement pull to refresh behaviour. I've created a small class which detects this behaviour of the LongListSelector and fires an event accordingly. It's fairly simple and doesn't require any additional dependency.
This class listens to the change of manipulation state of the LLS, to the MouseMove event (in WP, this event is triggered when the user moves the finger through the screen) and to the ItemRealized/Unrealized events. Listening to MouseMove,  we can calculate the amount of finger movement. That is, we can detect when the user has scrolled the list.

Then, when the ManipulationState changes from Manipulating to Animating (from user triggered movement to inertia movement), we check the viewport changes. The viewport is only constant when the user scrolls beyond the end of the list, either at the top or at the bottom. If no items were added, it's a scroll beyond the end and the list has stretched: check the direction of the scroll movement and fire the corresponding event.

You can check the code just below, it's also hosted as a Github Gist.

[gist]https://gist.github.com/gjulianm/5238856[/gist]