C# 检测我的windows应用商店应用程序视图已被抓拍或填充

C# 检测我的windows应用商店应用程序视图已被抓拍或填充,c#,xaml,windows-store-apps,C#,Xaml,Windows Store Apps,我正在用c#/XAML开发windows应用商店应用程序。因为我的应用程序必须支持windows 8的快照视图,才能通过认证。我决定像大多数其他应用程序一样,在快照时向页面显示静态图像或添加scrollviewer。问题是,我想知道如何确定我的应用程序是否已进入快照或填充视图?我想检测它,我想添加一个水平滚动到我的应用程序页面,以便用户可以滚动,即使它是在快照或填充视图。我浏览了一下,但是我需要更多的指导来应用我的逻辑。您可以使用ApplicationView.Value来确定应用程序的当前视图

我正在用c#/XAML开发windows应用商店应用程序。因为我的应用程序必须支持windows 8的快照视图,才能通过认证。我决定像大多数其他应用程序一样,在快照时向页面显示静态图像或添加scrollviewer。问题是,我想知道如何确定我的应用程序是否已进入快照或填充视图?我想检测它,我想添加一个水平滚动到我的应用程序页面,以便用户可以滚动,即使它是在快照或填充视图。我浏览了一下,但是我需要更多的指导来应用我的逻辑。

您可以使用
ApplicationView.Value
来确定应用程序的当前视图状态,也可以使用
WorkflowViewStateService.ViewStateChanged
来订阅视图状态的更改。

通常的方法是创建两个布局(网格)在绑定到相同数据的同一页面上,一个用于全屏,一个用于快照(如果您希望支持纵向与横向,还可以创建更多)。默认情况下,全屏布局可见,并折叠捕捉的图像。侦听SizeChanged事件,然后根据新的大小显示/隐藏正确的布局。

如果我在应用程序的每个页面上添加scrollViewer,并将其滚动模式设置为自动,该怎么办。所以,当应用程序被抓拍和填充时,它会自动显示滚动条。它能通过windows认证吗?我看不出有什么理由不能通过。但为了安全使用,您可以通过这种方式检测应用程序是否存在任何问题。Scrollviewer不受禁止,但最好添加一些逻辑来支持快照视图,因为它很酷:)