There are probably a number of apps available for this as well, but none that I've found for Windows Phone are any good. Even desktop routing via Google Maps or Bing Maps has not been very good at estimating journey times for me.
So I made a website which does it, just how I like it, with the following features:
- Uses Application Cache to remain available even with no data connection
- Browse lines, stations and routes
- Show all possible routes with duration and stops
- Entirely front-end code, using Angular JS
Offline Tube: https://offlinetube.co.uk