无法创建类型的实例' Microsoft.Phone.Shell.PhoneApplicationService' [线路:38位置:23]

时间:2014-01-13 10:23:45

标签: xaml windows-phone-8 navigation instance xamlparseexception

在从一个页面重定向到另一个页面时,我面临以下异常。

无法创建“Microsoft.Phone.Shell.PhoneApplicationService”类型的实例[行:38位置:23]

第一页上面的

代码:

NavigationService.Source = (new Uri("/SecondPage.xaml?selectedItem=" + myId, UriKind.RelativeOrAbsolute));

在上述uri的帮助下,我正在打电话给我的第二页。根据stackOverflow中提供的一些解决方案,我在我的xaml页面中遇到问题,我在我的xaml页面代码下面粘贴。

SupportedOrientations="PortraitOrLandscape"
shell:SystemTray.IsVisible="True" Loaded="PhoneApplicationPage_Loaded"
tools:TiltEffect.IsTiltEnabled="True" Orientation="Portrait" >
<phone:PhoneApplicationPage.Resources>
    <shell:ApplicationBar x:Key="SettingsBar" IsVisible="True"  Mode="Default">
        <shell:ApplicationBarIconButton x:Name="btnHome"  IconUri="Images/home.png" Text="home"  Click="btnHome_Click" />
        <shell:ApplicationBarIconButton x:Name="cot" IconUri="Images/toc.png" Text="toc"  Click="btnToc_Click"/>
        <shell:ApplicationBarIconButton x:Name="zoom" IconUri="Images/zoom.png" Text="zoom" Click="btnZoom_Click"/>
        <shell:ApplicationBarIconButton x:Name="setting" IconUri="Images/settings.png" Text="settings" Click="btnSettings_Click" />
        <shell:ApplicationBar.MenuItems>
            <shell:ApplicationBarMenuItem x:Name="SettingBar_wb" Click="AppMenu_wb_Click" Text="See Wordbank" />
            <shell:ApplicationBarMenuItem x:Name="SettingBar_sn" Click="AppMenu_sn_Click" Text="See Notes, " />
            <shell:ApplicationBarMenuItem x:Name="SettingBar_hight" Click="AppMenu_hight_Click" Text="See Highlight" />
        </shell:ApplicationBar.MenuItems>
    </shell:ApplicationBar>
    <shell:ApplicationBar x:Key="AnnotatorBar" IsVisible="True" >
        <shell:ApplicationBarIconButton x:Name="notes"  IconUri="Images/notes.png" Text="note"  Click="btnNote_Click" />
        <shell:ApplicationBarIconButton x:Name="myhights" IconUri="Images/myghights.png" Text="highlight"  Click="btnHighlight_Click"/>
        <shell:ApplicationBarIconButton x:Name="definsed" IconUri="Images/definesed.png" Text="Define" Click="btnDefine_Click"/>
        <shell:ApplicationBarIconButton x:Name="webs" IconUri="Images/webs.png" Text="wordbank" Click="btnWordbank_Click" />
        <shell:ApplicationBar.MenuItems>
            <shell:ApplicationBarMenuItem x:Name="AppMenu_SeeWordBank" Click="AppMenu_SeeWordBank_Click" Text="See Wordbank" />
            <shell:ApplicationBarMenuItem x:Name="AppMenu_SeeNotes" Click="AppMenu_SeeNotes_Click" Text="See Notes, " />
            <!--following is line 38 -->
            <shell:ApplicationBarMenuItem x:Name="AppMenu_SeeHighlights" Click="AppMenu_SeeHighlights_Click" Text="See Highlight" />
        </shell:ApplicationBar.MenuItems>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.Resources>

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

面对App.g.cs中的异常

System.Windows.Application.LoadComponent(this, new System.Uri("/dbok;component/App.xaml", System.UriKind.Relative));

1 个答案:

答案 0 :(得分:0)

是的,我已经解决了这个问题,这是我的一个小错误,我真的感觉不好,因为这是一个小错误。

我确实在我的帮助器类中创建了一个App类的实例,因此您知道App.xaml第一次执行非常好,所以根据框架,无法创建App.xaml的两个实例。

我修改了我的助手类。

来自

App myApp = new App();

//Following is the right way to access the properties from the App.xaml page.
App thisApp = (App)System.Windows.Application.Current;