Click here to Skip to main content
15,886,362 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
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
XML
<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
C#
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, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900