Windows phone 7 Windows Phone-访问DataContext最多需要4秒钟

Windows phone 7 Windows Phone-访问DataContext最多需要4秒钟,windows-phone-7,datacontext,Windows Phone 7,Datacontext,我正在为windows phone创建应用程序。 在“主页”上,你将对你的网站有一个大致的了解 “字符” 所有字符都存储在单例配置类中 要生成概览,我只需使用一个带有Datatemplate的列表框,如下所示: <ListBox x:Name="ListBox_Characters" Margin="0,0,-12,0" ItemsSource="{Binding Source={StaticResource Config},Path=Instance.Characters}">

我正在为windows phone创建应用程序。 在“主页”上,你将对你的网站有一个大致的了解 “字符”

所有字符都存储在单例配置类中

要生成概览,我只需使用一个带有Datatemplate的列表框,如下所示:

<ListBox x:Name="ListBox_Characters" Margin="0,0,-12,0"  ItemsSource="{Binding Source={StaticResource Config},Path=Instance.Characters}">
  <ListBox.ItemTemplate>
    <DataTemplate>
      <Button Style="{StaticResource CharacterButton}" Click="Button_Click_2">
        <StackPanel Orientation="Horizontal" Margin="0,0,0,17">
          <Image Source="{Binding ShowPortrait}" Height="110" Width="110" Margin="0,15,0,0" />
          <StackPanel Width="311">
            <TextBlock Text="{Binding Name}" TextWrapping="NoWrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
            <TextBlock Text="{Binding ShowCurrentlyTraining}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
            <ProgressBar Value="{Binding CurrentlyTrainingPercentage}" IsIndeterminate="{Binding CurrentlyUpdating}" />
            <Grid>
              <TextBlock Text="{Binding ShowSPs}" TextWrapping="Wrap" HorizontalAlignment="Left" Margin="12,0,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
              <TextBlock Grid.Column="2" Text="{Binding ShowCurrentlyTrainingPercentage}" HorizontalAlignment="Right" TextWrapping="Wrap" Margin="12,0,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
            </Grid>
            <TextBlock Text="{Binding ShowWealth}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
          </StackPanel>
        </StackPanel>
      </Button>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>
这些简单的“投射”怎么可能最多需要3秒? 我错过什么了吗

致以最良好的祝愿, 狗鼻子

编辑:为什么我总是工作几个小时却没有成功——然后,在董事会上写了一篇帖子之后,我就明白了


我已经在属性“CharacterToReload”的“set”部分为IsolatedStore添加了一个保存方法,这需要大约4秒(大量数据/图片)

我猜是Configuration.CharacterToReload的setter是花费时间的地方

我建议您将CharacterId设置为导航Uri中的查询参数-如果用户在导航到详细信息页面时关闭应用程序,这将有助于重新水合

在详细信息页面中的导航覆盖中,从导航上下文中获取查询参数以设置详细信息页面数据上下文

var uriString = string.Format("/DetailPage.xaml?character={0}", characterId);
NavigationService.Navigate(new Uri(uriString, UriKind.Relative));
详细信息页面

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    string characterId;

    if (NavigationContext.QueryString.TryGetValue("character", out characterId))
    {
        int index = 0;

        if (int.TryParse(charaterId, out index))
        {
           // set data context of detail page.
        }
    }
}

字符的结构是什么?你能用一个更简单的模型来重建它吗?(请尝试在数据绑定应用程序中使用默认代码。)
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    string characterId;

    if (NavigationContext.QueryString.TryGetValue("character", out characterId))
    {
        int index = 0;

        if (int.TryParse(charaterId, out index))
        {
           // set data context of detail page.
        }
    }
}