劇場のリストがあり、アプリケーションからセカンダリ タイルを作成して、特定の劇場に直接移動しました。クエリ文字列で劇場の ID を渡します。
ファイル「MainViewModel.cs」のWCFサービスから劇場をロードします
私のホームページには劇場のリストがあり、詳細ページに移動できます。
しかし、タイルから移動したい場合、エラーが発生します...
タイル :
ShellTile.Create(new Uri("/TheaterDetails.xaml?selectedItem=" + theater.idTheater, UriKind.Relative), tile, false);
マイシアター詳細ページ:
public partial class TheaterDetails : PhoneApplicationPage
{
theater theater = new theater();
public TheaterDetails()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (!App.ViewModel.IsDataLoaded)
{
App.ViewModel.LoadData();
}
if (DataContext == null)
{
string selectedIndex = "";
if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedIndex))
{
int index = int.Parse(selectedIndex);
theater = (from t in App.ViewModel.Theaters
where t.idTheater == index
select t).SingleOrDefault();
DataContext = theater;
....
....
....
エラー :
https://dl.dropboxusercontent.com/u/9197067/error.png
データがロードされていない場合のように...
問題がどこから来たのか考えていますか?
解決策は簡単かもしれませんが、私は初心者です...データを非同期でロードし、アプリケーションが完了するまで待機しないためかもしれません...
ありがとう
編集 :
私の LoadData() メソッド:
public void LoadData()
{
client.GetTheatersCompleted += new EventHandler<ServiceReference1.GetTheatersCompletedEventArgs>(client_GetTheatersCompleted);
client.GetTheatersAsync();
// Other get methods...
this.IsDataLoaded = true;
}
private void client_GetTheatersCompleted(object sender, ServiceReference1.GetTheatersCompletedEventArgs e)
{
Theaters = e.Result;
}