Click here to Skip to main content
14,422,431 members
Rate this:
Please Sign up or sign in to vote.
See more:
In my Application i Have two TabItem when i change Tab item then Frame History is lost, when i again select frame tab. I don't to destroy frame history.

Here is my Code

Xaml Side
<sdk:TabControl>
    <sdk:TabItem>
        <StackPanel Orientation="Vertical">
            <StackPanel Orientation="Horizontal">
                <Button Content="Back" Height="25" x:Name="btnBack" Width="Auto" VerticalAlignment="Top" HorizontalAlignment="Left" Click="btnBack_Click" />
                <Button Content="Forward" Height="25" x:Name="btnForward" Width="Auto" VerticalAlignment="Top" HorizontalAlignment="Left" Click="btnForward_Click_1" />
                <Button Content="page1" Height="25" Width="Auto" VerticalAlignment="Top" HorizontalAlignment="Right" Click="Button_Click_1"/>
                <Button Content="page2" Height="25" Width="Auto" VerticalAlignment="Top" HorizontalAlignment="Right" Click="Button_Click_2"/>
                <Button Content="page3" Height="25" Width="Auto" VerticalAlignment="Top" HorizontalAlignment="Right" Click="Button_Click_3"/>
            </StackPanel>
            <navigation:Frame x:Name="mainFrame" Source="/Page2.xaml" Margin="0,20,0,0" Navigated="mainFrame_Navigated_1">
            </navigation:Frame>
        </StackPanel>
    </sdk:TabItem>
    <sdk:TabItem/>
</sdk:TabControl>

Code Side
private void Button_Click_1(object sender, RoutedEventArgs e)
       {
           if (mainFrame.CanGoBack)
           {
               mainFrame.GoBack();
           }
       }

       private void Button_Click_2(object sender, RoutedEventArgs e)
       {
           if (mainFrame.CanGoForward)
           {
               mainFrame.GoForward();
           }
       }

       private void Button_Click_3(object sender, RoutedEventArgs e)
       {
           mainFrame.Navigate(new Uri("/Pages/Page2.xaml", UriKind.Relative));
           //mainFrame.Content = new Page3();
       }

       private void Button_Click_4(object sender, RoutedEventArgs e)
       {
           mainFrame.Navigate(new Uri("/Pages/Page3.xaml", UriKind.Relative));
           //mainFrame.Content = new Page2();
       }

       private void mainFrame_Navigated(object sender, NavigationEventArgs e)
       {
           if (mainFrame.CanGoBack)
               btnBack.IsEnabled = true;
           else
               btnBack.IsEnabled = false;

           if (mainFrame.CanGoForward)
               btnForward.IsEnabled = true;
           else
               btnForward.IsEnabled = false;
       }

Please help to Solve this Problem
Posted
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)




CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100