我遇到SystemTray的问题。
我的应用有全景和数据透视屏幕。所以我希望SystemTray在两个屏幕上都不可见。
我的代码是:
<phone:PhoneApplicationPage shell:SystemTray.IsVisible="False"
头痛主要是因为托盘在收到手势后再次出现,如轻弹或任何其他动作
我也做了以下更改:
shell:SystemTray.Opacity="0"
shell:SystemTray.ForegroundColor="Transparent"
shell:SystemTray.IsVisible="True"
变得更糟。尽管将托盘设置为透明,托盘仍然可见并且采用白色。
问候。
答案 0 :(得分:2)
尝试使用
在后面的代码中设置visibilty SystemTray.IsVisible = false;
如果它不起作用,在页面的构造函数或OnNavigatedTo函数中尝试以下代码行
SystemTray.SetForegroundColor(this, (Color)App.Current.Resources["PhoneBackgroundColor"]);
(颜色)App.Current.Resources [“PhoneBackgroundColor”]将前景色设置为背景,为其提供透明效果。
**仅在您未手动添加任何自定义背景时才有效。
如果它不起作用,请告诉我。
答案 1 :(得分:0)
尝试从xaml页面顶部删除shell:SystemTray.IsVisible="False"
。然后尝试一下。
如果这不起作用,那么使用主页加载事件后面的代码,如SystemTray.IsVisible = false;
答案 2 :(得分:0)
需要在MSDN后面的代码中以这种方式设置SystemTray的可见性。
SystemTray.SetIsVisible(this, false);
或者,如果你只想模拟相同的&#34;隐形&#34;效果,将不透明度设置为0以隐藏大部分条形,将前景色设置为透明以隐藏时间。需要注意的是,其他控件仍然会知道它在那里,因此您需要将页面上至少第一个控件的上边距调整32个像素(即边距=&#34; 0,-32,0,0)为了完成产生与在XAML中将其设置为false完全相同的效果。
SystemTray.SetOpacity(this, 0);
SystemTray.SetForegroundColor(this, Color.FromArgb(0, 0, 0, 0));