问题
I have an application that really makes no sense for snapped view, as the content generally represents A4 pages of information and data collection.
Is there a way to disable snapped view for the application, or is the recommended approach to just show the application icon, while in snapped mode?
回答1:
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;
}
}
};
回答2:
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();
}
}
};
来源:https://stackoverflow.com/questions/12240421/how-to-prevent-disable-snapped-view-for-windows-8-metro-ui-applications