是否可以从metro应用程序(Windows 8)禁用分屏视图?

时间:2012-12-13 16:03:03

标签: xaml windows-8 microsoft-metro

我有一个地铁应用,当用户使用"分屏" Windows 8的功能(如下图所示:http://pureinfotech.com/wp-content/uploads/2012/03/metro-app-desktop-split-screen-windows-8.png)。

有没有办法以编程方式禁用你的应用内部?到目前为止我还没有找到任何东西,但我发布这个以防万一有人知道更好。

提前致谢!

2 个答案:

答案 0 :(得分:0)

不,你不能。

我建议只浏览一下Splash Screen。

查看抢购Windows应用商店时会发生什么。

答案 1 :(得分:0)

技术上可行,但可能无法通过应用认证。

您可以尝试使用ApplicationView.TryUnsnap() 在Page:

的SizeChanged事件的事件处理程序中

在ctor中:

Window.Current.SizeChanged += OnSizeChanged;

实现处理程序方法:

public void OnSizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs args)
    {
        switch (Windows.UI.ViewManagement.ApplicationView.Value)
        {
            case Windows.UI.ViewManagement.ApplicationViewState.Filled:
                VisualStateManager.GoToState(this, "Fill", false);
                break;
            case Windows.UI.ViewManagement.ApplicationViewState.FullScreenLandscape:
                VisualStateManager.GoToState(this, "Full", false);
                break;
            case Windows.UI.ViewManagement.ApplicationViewState.Snapped:
                VisualStateManager.GoToState(this, "Snapped", false);
                break;
            case Windows.UI.ViewManagement.ApplicationViewState.FullScreenPortrait:
                VisualStateManager.GoToState(this, "Portrait", false);
                break;
            default:
                break;
        }

        this.ShowCurrentViewState();
    }


void ShowCurrentViewState()
    {
        ApplicationViewState currentState = Windows.UI.ViewManagement.ApplicationView.Value;
        if (currentState == ApplicationViewState.Snapped)
        {
            ApplicationView.TryUnsnap() ;
        }

   }