Using HorizontalViewPager1 instead of Canvas and Imagespirite

Yes.

See this example for ensuring that your pages list is always the latest and saved to the tinydb:

Also save to the tinydb a list of the three pages currently in view, then use this list to populate the three pages loaded on Screen.Initialise.