如何在WP8.1 WinRT中禁用分组列表,即SemanticZoom + ListView虚拟化?

时间:2014-06-28 21:54:55

标签: listview winrt-xaml windows-phone-8.1

我尝试了以下内容(如ListBox is virtual by default?所示):

  <ListView.ItemsPanel>
       <ItemsPanelTemplate>
            <StackPanel/>
       </ItemsPanelTemplate>
  </ListView.ItemsPanel>

这确实禁用了虚拟化,但粘性组头不再坚持且无法点击。

下面的第二种方法(如WPF ListView virtualization. How to disable ListView virtualization?所示)我不知道如何在WP8.1WinRt中做;我无处可寻:

VirtualizingStackPanel.IsVirtualizing = "Standard"

那么如何在WP8.1 WinRT中禁用分组列表即SemanticZoom + ListView 虚拟

1 个答案:

答案 0 :(得分:0)

如果您可以承受丢失粘性组头,那么可以扩展使用普通StackPanel的第一种方法来恢复语义缩放。修改您的HeaderTemplate以包含处理程序,例如TappedClicked事件(取决于您的控件)。在此处理程序中,您可以执行以下操作:

SemanticZoom.IsZoomedInViewActive = false;

激活跳转列表。

您可能还需要修复SemanticZoom在返回放大视图时所做的滚动操作。有关示例代码,请参阅this post