0

Windows Phone 8、Silverlight。PivotItemページのXAMLで宣言されているものがありResourceDictionaryます。これは、最初に表示したくないため、Pivo​​tItemsの動的な可視性がないためです。時が来たら、オブジェクトを取得してリソースから削除し、ピボットに追加します。動作しますが、何らかの理由で、Loadイベントが2回発生します。1回はページの読み込み時、もう1回はピボットに挿入したときです。

OnLoadedの処理を1回だけにしたいです。

それは仕様によるものですか?回避策はありますか?オブジェクトの初期化時に一度発生する同様のイベントはありますか(コンストラクターを除く)?

init-onceブールフラグを導入することでそれを回避できますが、それでもです。

4

2 に答える 2

1

OnNavigatedTo を試すことができます。読み込まれたイベントは、ビジュアル ツリー内のほとんどすべての項目で発生する可能性があります。pivotItem でアイテムを折りたたみたいが、pivotItem 自体を折りたたまない場合は、親の Grid コンテナーにフックします。

最終的に、ピボット コントロールの子を削除できます。

myPivotControl.Items.Remove(アイテム);

同じ方法でアイテムを元に戻すことができます

myPivotControl.Items.Add(アイテム)

ただし、別のイベントを使用すると、より良い結果が得られると思います。親ピボットには、アイテムを追加および削除するためのイベントがあります。このリンクは、Pivo​​t クラスのドキュメントに移動します。さらに、このリンクから PivotItem クラスに移動できます。

于 2012-11-09T22:13:53.103 に答える
0

最初にPivotItem折りたたんでから、必要なときに表示することができます。

于 2012-11-08T23:21:48.050 に答える