如何隐藏系统托盘

时间:2012-06-18 14:44:57

标签: windows-phone-7 hide opacity system-tray

我遇到SystemTray的问题。

我的应用有全景和数据透视屏幕。所以我希望SystemTray在两个屏幕上都不可见。

我的代码是:

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

头痛主要是因为托盘在收到手势后再次出现,如轻弹或任何其他动作

我也做了以下更改:

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

变得更糟。尽管将托盘设置为透明,托盘仍然可见并且采用白色。

问候。

3 个答案:

答案 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));