1

パノラマコントロールを備えたWindowsPhoneアプリがあります。

パノラマには現在2ページあります。

1つのページには、ボタン付きのアプリケーションバーが表示されている必要があり、別のページには表示されていない必要があります。

パノラマのSelectionChangedイベントを使用して、ApplicationBarのIsVisibleプロパティを変更します。

private void Panorama_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            ApplicationBar.IsVisible = Panorama.SelectedIndex == 0;
        }

私が得る機能は望み通りですが、そのような振る舞いで、私は私のパノラマのひどい遅れ(スライドアニメーションの瞬間的なフリーズ)を得る。これはおそらく、UIスレッドがWindowsPhoneの「ネイティブ」アプリケーションバーを操作する必要があるために発生します。

この問題を回避するための最良の方法は何ですか?

ApplicationBar.IsVisible = Panorama.SelectedIndex == 0;別のスレッドでを呼び出す必要がありますか?または、アイテムのManipulationStartedイベントとManipulationCompletedイベントを使用して、アプリバーを非表示にする必要がありますか?

ありがとう。

4

6 に答える 6

1

アプリバーの不透明度を0.999999デフォルト値(1.0)ではなくに設定してみてください。動作するはずです。

于 2012-08-02T01:21:46.210 に答える
1

他の誰かがこれに遭遇した場合に備えて、datou.guo は正しいです。不透明度の詳細は、ここで説明しています: AppBar ドキュメント

アプリバーの不透明度には、0、.5、または 1 を使用することをお勧めします。不透明度が 1 の場合、アプリ バーに変更があったときにページのサイズが実際に変更されるため、遅延が説明されます。不透明度が .5 の場合、それは起こりません。他の不透明度の値については特に言及していませんが、0.99 で試してみたところ、遅れが防止されました。

アプリ バーが透明な場合、ページのスペースを占有しなくなるため、レイアウトを更新してページの下部にマージンを持たせる必要があることに注意してください。

于 2013-06-28T01:13:11.280 に答える
1

アプリケーション バー自体を非表示にするのではなく、アプリケーション バー アイコンを削除/追加することで、スムーズなアニメーションを得ることができました。

于 2011-07-31T23:03:07.520 に答える
0

別のスレッドでそのコードを実行しても役に立ちません。結局のところ、Deployment.Current.Dispatcher.BeginInvoke() を使用して UI スレッドに効果を適用する必要があるためです (そうしないと、クロススレッド例外が発生します)。 .

しかし、この遅延の問題については、200 ミリ秒程度の遅延の後に可視性を変更してみてください。Thayが役立つかもしれません。

于 2011-07-06T00:29:48.550 に答える
0

パノラマ コントロールと同じページでアプリケーション バーを使用しないように、アプリケーションを設計する必要があります。

この 2 つは一緒に使用するようには設計されていません。これは、設計上の理由と技術的な理由の両方によるものです。(設計上の理由から、これらを一緒に使用するべきではないため、両方を使用すると技術的な問題が発生し、対処される可能性が非常に低くなります。) そのような問題が 1 つ見つかりました。

ユーザーが操作する必要があるパノラマ アイテムにコンテンツがある場合は、コントロールをアイテムまたは別のページ (そのコンテンツを選択してリンクされている場合) に移動します。

更新
誰かが指摘する前に - 一部のハブ (オフィスと人) は、現在の mango ビルドでパノラマとアプリケーション バーを組み合わせています。これに関する Micorsoft からの公式コメントはありません。(聞いただけです。) Mango のデザイン ガイドラインはまだリリースされていません。それらが実現するまで、これ以上の情報はありそうにありません。
mango beta SDK を使用したパノラマ テンプレートには、アプリケーション バーとパノラマを組み合わせてはならないことを示すコメントがまだ含まれています。

于 2011-07-06T10:14:01.350 に答える
0

ここでは、パノラマでアプリケーションバーを使用する場合はモードを最小化に設定することを伝えるWindows Phone のパノラマコントロールデザインガイドラインに関するアドバイスを見つけました。このモードは、パノラマ ページの画面スペースを最大化するために特別に設計されています。

于 2012-05-22T20:21:23.067 に答える