How to prevent/disable snapped view for Windows 8 Metro UI applications

这一生的挚爱 提交于 2019-12-03 21:50:18

You cannot disable snapped view.

Simply just create a new page and navigate to that page if a snap event occurred. You can simply display an image.

Window.Current.SizeChanged += (object sender, Windows.UI.Core.WindowSizeChangedEventArgs e) =>
                {
                    ApplicationViewState myViewState = ApplicationView.Value;

                    if (myViewState == ApplicationViewState.Snapped)
                    {
                        //await SaveAssets();
                        this.Frame.Navigate(typeof(Snapped));
                        Snapped = true;
                    }
                    else if (myViewState != ApplicationViewState.Snapped)
                    {
                        if (Snapped)
                        {
                            this.Frame.Navigate(typeof(MainPage));
                            Snapped = false;
                        }
                    }
                };

I really like Robert's solution. Based upon that, you can simulate disabling snapped view:

Window.Current.SizeChanged += async (object sender, WindowSizeChangedEventArgs e) =>
        {
            ApplicationViewState myViewState = ApplicationView.Value;
            if (myViewState == ApplicationViewState.Snapped)
            {
                if (!ApplicationView.TryUnsnap())
                {
                    MessageDialog dialog = new MessageDialog("Sorry, this App is unusable in snapped mode.");
                    await dialog.ShowAsync();
                }
            }
        };  
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!