1

I am making an app in which i need to use a Custom BasePage from which all other Pages of the app will inherit. I created a new TestProject and did all the following It worked Perfactly, But when I Do same thing in MyProject, an error occures

The type or namespace name does not exist in the namespace TestPage.g.cs

Here is code of BaseScreenPage

namespace MyProject
{
    public class BaseScreenPage : PhoneApplicationPage
    {
        private static bool isToShowAgain = true ;
        public static bool isToNavigateToContent;
        public BaseScreenPage() 
        { 

        }

        protected override void OnNavigatedTo(NavigationEventArgs e) 
        {
            base.OnNavigatedTo(e);
            if (isToNavigateToContent) {
                isToNavigateToContent = false;
                NavigationService.Navigate(new Uri("/Screens/ContentScreen.xaml", UriKind.Relative));
            }


         }


    }
}

And I am Making Page that is Inheriting from BaseScreenPage here is

<hyper:BaseScreenPage
    x:Class="MyProject.TestPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    mc:Ignorable="d"
    xmlns:hyper="clr-namespace:MyProject"
    shell:SystemTray.IsVisible="True">

    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel Grid.Row="0" Margin="12,17,0,28">
            <TextBlock Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

        </Grid>
    </Grid>

</hyper:BaseScreenPage>

Also I am doing This in Code of TestPage

namespace MyProject
{
    public partial class TestPage : BaseScreenPage
    {
        public TestPage()
        {
            InitializeComponent();
        }
    }
}

I've tried all the solutions in Question

Please Suggest some solution

Community
  • 1
  • 1
QAMAR
  • 2,684
  • 22
  • 28
  • aren't there any resource dictionaries? the error is only that one? – sexta13 Apr 17 '14 at 10:50
  • no there are no Resource dictionaries. The thing is same code works in a test project – QAMAR Apr 17 '14 at 10:53
  • The error points to auto-generated file `TestPage.g.cs`.. Try to clean and rebuild your solution ? – har07 Apr 17 '14 at 11:24
  • I cleaned about a 10 times and when i Build the project same thing happens, Its head scratching situation for me today. – QAMAR Apr 17 '14 at 11:35

1 Answers1

0

I'm not sure whether that's the cause of the issue, but your XAML looks wrong to me. You're declaring the BasePage node in the hyper XML namespace, but you haven't declared that namespace anywhere. You're missing a declaration:

<hyper:BaseScreenPage
    x:Class="MyProject.TestPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:hyper="declareYourNamespaceHere"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Kevin Gosse
  • 38,392
  • 3
  • 78
  • 94