我有一个从VS11模板创建的Grouped Items页面。此页面具有用于普通视图的GridView和在捕捉页面时显示的ListView。我需要实现语义缩放,仍然可以捕捉页面。
我尝试移动GridView SemanticZoom.ZoomedInView,所以我有
<ScrollViewer x:Name="itemListScrollViewer" ...
<Listview ...
</ScrollViewer>
<SemanticZoom Grid.Row="1" >
<SemanticZoom.ZoomedInView>
<GridView ...
</SemanticZoom.ZoomedInView>
</SemanticZoom>
当页面未被捕捉时,ListView被隐藏,当页面被捕捉时,gridView被隐藏。问题是在捕捉视图中,ListBox不会滚动,也不会对项目点击做出反应。
答案 0 :(得分:0)
您希望捕捉的视图还具有语义缩放功能吗?在这些情况下,我所做的是实现两个不同的SemanticZoom,一个用于横向,一个用于捕捉,然后只显示当前视觉状态的正确一个。所以出发点是:
<SemanticZoom x:Name="semanticZoom" Visibility="Visible">
<SemanticZoom.ZoomedOutView>
<GridView ...
</SemanticZoom.ZoomedOutView>
<SemanticZoom.ZoomedInView>
<GridView ...
</SemanticZoom.ZoomedInView>
</SemanticZoom>
<SemanticZoom x:Name="semanticZoomSnapped" Visibility="Collapsed">
<SemanticZoom.ZoomedOutView>
<ListView ...
</SemanticZoom.ZoomedOutView>
<SemanticZoom.ZoomedInView>
<ListView ...
</SemanticZoom.ZoomedInView>
</SemanticZoom>
或者如果您在捕捉模式下不需要语义缩放,只需尝试当前的方法,但尝试隐藏SemanticZoom元素而不是其中的GridView。当然要确保ListView的isItemClickEnabled设置为true等。
P.S。我想你在哪里说ListBox你的意思是ListView?由于名为ListBox的元素也存在。
答案 1 :(得分:0)
我找到了解决问题的一种非常奇怪的方法。当我切换SemanticZoom的ordet和ScrollViewer之类的
<SemanticZoom Grid.Row="1" >
<SemanticZoom.ZoomedInView>
<GridView ...
</SemanticZoom.ZoomedInView>
</SemanticZoom>
<ScrollViewer x:Name="itemListScrollViewer" ...
<Listview ...
</ScrollViewer>
比一切都有效。知道为什么吗?