1

我有一个 Metro 应用程序,当用户使用“分屏”Windows 8 功能时,它的行为会很有趣(如下图所示:http: //pureinfotech.com/wp-content/uploads/2012/03/metro-app-desktop -split-screen-windows-8.png)。

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

提前致谢!

4

2 回答 2

0

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

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

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

   }
于 2012-12-13T19:09:08.543 回答
0

你不能。

我建议只导航到启动画面之类的东西。

看看当您捕捉 Windows 应用商店时会发生什么。

于 2012-12-13T16:07:23.127 回答