我有一个 Metro 应用程序,当用户使用“分屏”Windows 8 功能时,它的行为会很有趣(如下图所示:http: //pureinfotech.com/wp-content/uploads/2012/03/metro-app-desktop -split-screen-windows-8.png)。
有没有办法从您的应用程序内部以编程方式禁用?到目前为止我还没有找到任何东西,但我发布这个以防万一有人知道更好。
提前致谢!
我有一个 Metro 应用程序,当用户使用“分屏”Windows 8 功能时,它的行为会很有趣(如下图所示:http: //pureinfotech.com/wp-content/uploads/2012/03/metro-app-desktop -split-screen-windows-8.png)。
有没有办法从您的应用程序内部以编程方式禁用?到目前为止我还没有找到任何东西,但我发布这个以防万一有人知道更好。
提前致谢!
这在技术上是可行的,但可能不会通过应用程序认证。
您可以尝试在页面的 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() ;
}
}
你不能。
我建议只导航到启动画面之类的东西。
看看当您捕捉 Windows 应用商店时会发生什么。