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

Xaml 是否可以从metro应用程序(windows 8)禁用分屏视图?,xaml,windows-8,microsoft-metro,Xaml,Windows 8,Microsoft Metro,我有一个metro应用程序,当用户使用“分屏”Windows8功能时,它会表现得很滑稽(如下图所示:) 有没有一种方法可以通过编程从应用程序内部禁用?到目前为止我还没有找到任何,但我正在发布这篇文章,以防有人知道更多 提前谢谢 不,你不能 我建议只导航到闪屏之类的东西 看看当你抓拍Windows应用商店时会发生什么。这在技术上是可能的,但可能不会通过应用认证 您可以尝试使用ApplicationView.TryUnsnap() 在页面的SizeChanged事件的事件处理程序中: 换句话说: W

我有一个metro应用程序,当用户使用“分屏”Windows8功能时,它会表现得很滑稽(如下图所示:)

有没有一种方法可以通过编程从应用程序内部禁用?到目前为止我还没有找到任何,但我正在发布这篇文章,以防有人知道更多

提前谢谢

不,你不能

我建议只导航到闪屏之类的东西


看看当你抓拍Windows应用商店时会发生什么。

这在技术上是可能的,但可能不会通过应用认证

您可以尝试使用ApplicationView.TryUnsnap() 在页面的SizeChanged事件的事件处理程序中:

换句话说:

Window.Current.SizeChanged += OnSizeChanged;
并实现handler方法:

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() ;
        }

   }

我明白了,所以,有两种情况需要考虑:1)当另一个应用程序处于活动状态时(我们称之为应用程序B),我将我的应用程序作为第二个拆分视图引入。对于这种情况,我可以使用启动屏幕,就像windows应用商店一样。你知道他们是如何做到这一点的吗?他们如何识别它是否作为拆分窗口进入?2) 当活动应用程序是我的应用程序时,我尝试将应用程序B作为拆分窗口输入。我也能确定发生了什么吗?很抱歉,我没有改变,但我保证我会测试和评论,谢谢!