如何防止/禁用Windows 8 Metro UI应用程序的捕捉视图

时间:2012-09-02 22:56:14

标签: windows-8 microsoft-metro winjs snapping

我有一个对于快照视图毫无意义的应用程序,因为内容通常代表A4页面的信息和数据收集。

是否有办法禁用应用程序的捕捉视图,或者是在快照模式下显示应用程序图标的推荐方法?

2 个答案:

答案 0 :(得分:10)

您无法禁用捕捉的视图。

只需创建一个新页面并在发生快照事件时导航到该页面。您只需显示图像即可。

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

答案 1 :(得分:0)

我真的很喜欢罗伯特的解决方案。基于此,您可以模拟禁用捕捉的视图:

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