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

Windows 8 如何防止/禁用Windows 8 Metro UI应用程序的快照视图,windows-8,microsoft-metro,winjs,snapping,Windows 8,Microsoft Metro,Winjs,Snapping,我有一个应用程序,对于快照视图来说真的没有意义,因为内容通常表示A4页的信息和数据收集 是否有方法禁用应用程序的“快照视图”,或者建议在快照模式下仅显示应用程序图标?您不能禁用“快照视图” 如果发生快照事件,只需创建一个新页面并导航到该页面即可。您可以简单地显示一个图像 Window.Current.SizeChanged += (object sender, Windows.UI.Core.WindowSizeChangedEventArgs e) =>

我有一个应用程序,对于快照视图来说真的没有意义,因为内容通常表示A4页的信息和数据收集


是否有方法禁用应用程序的“快照视图”,或者建议在快照模式下仅显示应用程序图标?

您不能禁用“快照视图”

如果发生快照事件,只需创建一个新页面并导航到该页面即可。您可以简单地显示一个图像

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

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

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

上面的答案虽然精神上正确,但适用于XAML,而不是HTMLAh。我没有注意到winjs标记,我想js也有类似的地方。这就是我用WinJS实现的结果。Rob关于能力的回答是我想要的,具体的技术是次要的。再次感谢。您可以从上到下显示调整大小的页面缩略图样式。虽然这可能不是最有用的事情,但总比什么都不做要好。