Disabling WP 8.1 Action Center pull down menu

Windows Phone 8.1 has the “Action Center” which is a system overlay displayed by a touch gesture (swipe in from top). I want to disable this behavior when my MonoGame app is running.

I found a solution described here (MSDN forums) which is to set ApplicationView.SuppressSystemOverlays (MSDN).

Unfortunately, it seems I can’t set this property in my Windows Phone 8 project. I’m guessing that’s because this is only supported in WP 8.1 and my MonoGame project template only referenced Windows Phone 8 libraries.

Fortunately, the MSDN page said the property is true for any app associated with the Games category. So it seems that ultimately, this issue would be fixed for users downloading the app after it’s submitted to the WP app store.

Finally, my question: how can I disable this behavior during my debugging on a WP 8.1 device before submission to the app store? Possible answers may include referencing the WP 8.1 libraries or associating an application category. Thanks in advance!

I want to disable this behavior when my MonoGame app is running.

You can’t. This is the correct answer from MSDN:

You can not completely disable the notification shade. If your App
however hides the system tray (like the Pictures Hub does when showing
an image full screen) the first swipe down will only display a marker
that the user has to specifically pull down
on in order to show the full notification area.

If your game is fullscreen (which it should be) then the users needs to pull down twice to access the menu. Same is true for the search button, it needs to be pressed twice if a full screen application is active.

Fortunately, the MSDN page said the property is true for any app
associated with the Games category. So it seems that ultimately, this
issue would be fixed for users downloading the app after it’s submitted
to the WP app store.

Finally, my question: how can I disable this behavior during my
debugging on a WP 8.1 device before submission to the app store?
Possible answers may include referencing the WP 8.1 libraries or
associating an application category. Thanks in advance!

Just set your app to fullscreen and that’s it. Store submission, WP8.1 and games category doesn’t matter.

1 Like

Thanks Nezz for your response.

You’re right - this behavior can’t be disabled completely. The desirable result is that the first swipe only displays the marker.

So, how should we set the game to fullscreen? My MonoGame app isn’t fullscreen by default. Is this expected?

When debugging, I can execute this in the immediate window for the desired result:

Microsoft.Phone.Controls.PhoneApplicationFrame.Current.FullScreen = true

However, I don’t know how to set this through C# code or XAML. PhoneApplicationFrame.Current isn’t accessible and App.RootFrame.FullScreen isn’t either.

Thanks!

You can set it in you game constructor:

this.graphics = new GraphicsDeviceManager(this);
this.graphics.IsFullScreen = true;
1 Like

Thanks Nezz for the suggestion. Unfortunately, GraphicsDeviceManager.IsFullScreen is already true by default. Setting it explicitly doesn’t affect the pull down menu behavior.

Here’s some debugging info from the immediate window during my main game loop:

GraphicsDeviceManager.IsFullScreen
true
Microsoft.Phone.Controls.PhoneApplicationFrame.Current.FullScreen
false

Any other ideas on how we can set FullScreen = true on our PhoneApplicationFrame through C# or XAML?

Thanks!

In your GamePage make sure your first XML block looks like this:

<phone:PhoneApplicationPage
    [...]
    shell:SystemTray.IsVisible="False">

I guess this is what you are missing.

1 Like

Thanks again, but my GamePage.xaml is unmodified since I created my project from the “MonoGame Windows Phone 8 Project” template. I already have the code above and the issue persists.

I’m also able to reproduce the issue with a new blank project from the same template on my 8.1 hardware and emulator.

I noticed this too @Nezz. IsFullScreen is not disabling the WP8.1 status bar. Should that be fixed within MonoGame to match old WP7 behavior?

1 Like

shell:SystemTray.IsVisible="False" disables the status bar correctly for me. Its default value seems to be false.

@Tom I haven’t observed that, maybe because we are using DrawingSurfaceBackgroundGrid. We can set SystemTray.IsVisible from the code too, so it should be a one line change… If you know where to put that single line :slight_smile:

1 Like

Yea… that is what we should do then. Just have to pick the right spot in the platform code to toggle it based on the fullscreen state.

1 Like