Windows phone 如何使用webclient和下载windows phone 8

Windows phone 如何使用webclient和下载windows phone 8,windows-phone,Windows Phone,我有一个从服务器获取对象的类GetInfo,Page1.xaml,Page2.xaml。我要将对象值从第1页传输到第2页 这是我的密码 类获取信息 } 类Page1.cs// 我知道DownloadStringCompleted在事件LayoutRoot\u加载完成时调用。问题是,如果加载的LayoutRoot\u未完成,我无法移动到第2页。 我需要解决这个问题的办法 谢谢 那么,为什么不将调用移动到NavigationService.NavigationService?在webclient的D

我有一个从服务器获取对象的类GetInfo,Page1.xaml,Page2.xaml。我要将对象值从第1页传输到第2页 这是我的密码

类获取信息

}

类Page1.cs//

我知道DownloadStringCompleted在事件LayoutRoot\u加载完成时调用。问题是,如果加载的LayoutRoot\u未完成,我无法移动到第2页。 我需要解决这个问题的办法
谢谢

那么,为什么不将调用移动到NavigationService.NavigationService?在webclient的DownloadStringCompleted事件中导航?我已经尝试过,但错误是非静态字段、方法或属性“System.Windows.Navigation.NavigationService.NavigatesSystem.Uri”需要对象引用
  Class GetInfo{   
    Info use_info; //(Info is class)
    public GetInfo(Info user_info)
    {
        this.user_info = user_info;
    }

    public void UseWebClient()
    {

        var client = new WebClient();
        client.DownloadStringCompleted += (sender, e) =>
        {
            if (!string.IsNullOrEmpty(e.Result))
                getInfo(e.Result);
        };
        client.DownloadStringAsync(new Uri("http://example.com/user_info.php?id=1"));
    }
    void getInfo()
    {
        I will Parse JSon string get from server become Info object...
    }
Info user_info;
GetInfo userInfo;
public Page1()//constructor
{
   userInfo = new GetInfo(user_info);
}
private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
{
   userInfo.UseWebClient();

   //THIS IS PROBLEM
   if(user_info.name != null) //name is public properties;
   {
        PhoneApplicationService.Current.State["user_info"] = user_info;
        NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative));
   }
   else
   {
      MessageBox.Show("Check Connect!", "Warning", MessageBoxButton.OK)
      if(result == MessageBoxResult.OK)
         Application.Current.Terminate();  
   }
}