Xaml 如何在景观中隐藏systemtray

Xaml 如何在景观中隐藏systemtray,xaml,windows-phone,show-hide,system-tray,orientation-changes,Xaml,Windows Phone,Show Hide,System Tray,Orientation Changes,如何在windows phone中更改系统托盘的纵向显示和横向隐藏 我现在有这样的东西,但它不起作用: void Pregled_OrientationChanged(object sender, OrientationChangedEventArgs e) { if (e.Orientation == PageOrientation.PortraitUp) { SystemTray.IsVisible = true;

如何在windows phone中更改系统托盘的纵向显示和横向隐藏

我现在有这样的东西,但它不起作用:

void Pregled_OrientationChanged(object sender, OrientationChangedEventArgs e)
    {
        if (e.Orientation == PageOrientation.PortraitUp)
        {
            SystemTray.IsVisible = true;
        }
        else
        {
            SystemTray.IsVisible = false;
        }
    }
在xaml页面上,shell:systemtray.isvisible=“true”不起作用。如果我在xaml中从systemtray中删除Visibility,它将完全不显示


我修复了它,这是我代码中的一个小错误,我必须使用PhoneApplicationPage_BeginLayoutChanged而不是Pregled_OrientationChanged,我想我可以像我想要的那样设置事件处理程序名称。。。我的错误。

这段代码成功了

private void PhoneApplicationPage_BeginLayoutChanged (object sender, OrientationChangedEventArgs e)
{
    if (e.Orientation == PageOrientation.PortraitUp)
    {
        SystemTray.IsVisible = true;
    }
    else
    {
        SystemTray.IsVisible = false;
    }
}

VisualStateManager
中,应该有一个名为
OrientionStates
VisualStateGroup
,您可以根据其横向或纵向状态应用可见性更改。在xaml中,我没有类似于视觉状态组的内容,我不知道您的意思。我认为上面的代码应该可以工作,但它不能。有没有办法改进它,让它发挥作用?!我刚试过你的代码,它对我有用。。。你确定你注册了Pregled_OrientationChanged吗?注册是什么意思?如果我以这种方式编译它,我在visual studio中没有错误,但是如果我在设备或模拟器上旋转设备,系统托盘将保留。。。