2

SystemTray に問題があります。

私のアプリにはパノラマ画面とピボット画面があります。したがって、両方の画面で SystemTray を非表示にしたいと考えています。

私のコードは次のとおりです。

<phone:PhoneApplicationPage shell:SystemTray.IsVisible="False" 

頭痛の主な原因は、フリックやその他のアクションのようなジェスチャーを受け取った後にトレイが再表示されることでした。

また、次の変更を行いました。

shell:SystemTray.Opacity="0"
shell:SystemTray.ForegroundColor="Transparent"
shell:SystemTray.IsVisible="True"

悪化した。透明に設定しているにもかかわらず、トレイが白く見えるようになりました。

よろしく。

4

3 に答える 3

2

使用してコードビハインドで可視性を設定してみてください

        SystemTray.IsVisible = false;

うまくいかない場合は、ページのコンストラクターまたは OnNavigatedTo 関数で次のコード行を試してください。

        SystemTray.SetForegroundColor(this, (Color)App.Current.Resources["PhoneBackgroundColor"]);

(Color)App.Current.Resources["PhoneBackgroundColor"] は、前景色を背景として設定し、透明な効果を与えます。

**カスタム背景を手動で追加していない場合にのみ機能します。

うまくいかない場合はお知らせください。

于 2012-08-07T12:38:54.323 に答える
0

SystemTray の可視性は、 MSDNごとにコード ビハインドでこのように設定する必要があります。

SystemTray.SetIsVisible(this, false);

または、同じ「見えない」効果をシミュレートしたいだけの場合は、不透明度を 0 に設定してほとんどのバーを非表示にし、前景色を透明に設定して時間を非表示にします。1 つの注意点は、コントロールの残りの部分がそこにあることを認識しているため、少なくともページの最初のコントロールの上余白を 32 ピクセル上に調整する必要があることです (つまり、Margin="0,-32, 0,0) を使用して、XAML で false に設定した場合とまったく同じ効果が得られるようにします。

SystemTray.SetOpacity(this, 0);
SystemTray.SetForegroundColor(this, Color.FromArgb(0, 0, 0, 0));
于 2014-09-07T16:10:08.280 に答える