Rishabh876
Rishabh876

Reputation: 3180

How to get the object reference of backstack pages

I am trying to save a list of backstack pages that are Tombstoned, so that when I navigate back to them, I can compare if they are present in this list. If yes, I'll restore its state.

Currently my code looks like this.

public partial class App : Application
{
    public static List<PhoneApplicationPage> TombstonedPages = new List<PhoneApplicationPage>();
    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        if(!e.IsApplicationInstancePreserved)
        {
            foreach (JournalEntry j in (Application.Current.RootVisual as PhoneApplicationFrame).BackStack)
            {                    
                TombstonedPages.Add(//What should i add here);                 

            }
        }
    }
}

code in some PhoneApplicationPage

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        //checking tombstone
        if(e.NavigationMode== NavigationMode.Back &&  App.TombstonedPages.Contains(this)  )
        {
            //restore state and delete entry from App.TombstonedPages

        }
    }
 protected override void OnNavigatedFrom(NavigationEventArgs e)
    {
        if(e.NavigationMode != NavigationMode.Back)
        {
           //save state
        }
    }

But I am unable to get a reference of pages from backstack. How should I do this? Is there a different way to do this?

Upvotes: 0

Views: 42

Answers (0)

Related Questions