2012-01-27 16 views
0

は、ピボットのDataContextのは、そのためピボットアイテムを作成割り当てられているときにイベントLoadedPivotItemが発射されていない理由何らかの理由があるのでしょうか?LoadedPivotItemイベントが最初に発生しません、WP7

私はすでに_SelectionChangedイベントによって処理され、次のピボット項目に旗上げたときにのみ起動されます。

protected override void OnNavigatedTo 
    (System.Windows.Navigation.NavigationEventArgs e) 
    { 
     var someData = LoadData(); 

     pivot.DataContext = someData; 
     base.OnNavigatedTo(e); 
    } 

void pivot_LoadedPivotItem(object sender, PivotItemEventArgs e) 
    { 
     // Will not stop here after data being assigned to DataContext 
    } 

特にこのイベントが必要なのは、私がPivotItemを必要とし、さらなる操作のためのデータコンテキストです。 私が間違っていることがあるのですか、Pivo​​tItem(PivotItemEventArgs)の取得中にここで使用できるイベントがあります。

おかげ

答えて

0

私はこの問題は、あなたのページがロードされるかのタイミングだと思います。あなたのコードにイベントハンドラを添付しているのではないので、XAMLでイベントハンドラを指定していると仮定しています。あなたのページのすべてが完全に読み込まれて配線される前に、イベントが早すぎて発砲している可能性があります。

はあなたのXAMLからイベントハンドラを削除し、あなたのOnNavigatedToイベント(擬似コード)にそれを移動してみてください:

protected override void OnNavigatedTo (NavigationEventArgs e) 
{ 
    var someData = LoadData(); 

    pivot.DataContext = someData; 
    OnLoadedPivotItem += pivot_LoadedPivotItem; 
    base.OnNavigatedTo(e); 
} 

問題が解決しない場合は、this articleが役に立つかもしれません。コントロールツリーがロードされるときに発生するイベントのシーケンスを記述します。潜在的に有用なものとして飛び出した提案は、Loadedイベントの代わりにLayoutUpdatedイベントに付いていました。

関連する問題