Windows 8 Windows8像天气应用程序一样滚动

Windows 8 Windows8像天气应用程序一样滚动,windows-8,windows-store-apps,winrt-xaml,Windows 8,Windows Store Apps,Winrt Xaml,我的布局如下所述: <ScrollViewer> <StackPanel Orientation="Horizontal"> <!-- ... --> <ScrollViewer> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel ScrollVie

我的布局如下所述:

<ScrollViewer>
  <StackPanel Orientation="Horizontal">
     <!-- ... -->
     <ScrollViewer>
        <ItemsControl.ItemsPanel>
             <ItemsPanelTemplate>
                   <StackPanel ScrollViewer.VerticalScrollBarVisibility="Visible"  Orientation="Vertical" />
             </ItemsPanelTemplate>
         </ItemsControl.ItemsPanel> 
     </ScrollViewer>

      <!-- ... -->
  </StackPanel>
</ScrollViewer>

我想实现天气应用程序中的效果

在我的应用程序中,当您使用鼠标滚轮水平滚动时,当指针越过ItemsControl时,它立即开始垂直滚动。当天气应用程序中出现流畅的水平滚动效果时,垂直滚动开始于将垂直集合悬停一段时间

这种行为是默认实现的吗


Szymon

我认为他们为了达到这一效果所做的是:

如果鼠标停留在垂直列表上一段时间,则会停用水平滚动并激活垂直滚动。一旦鼠标移到列表之外,它们将切换回(停用垂直滚动并激活水平滚动)


我还没有测试它是否有效,但我认为它应该有效。

一般来说,在水平滚动中继器中引入垂直滚动是一个坏主意。我认为你不应该考虑天气(或任何标准的Windows 8应用程序)作为一个模型来仿真。他们中的大多数人在一些最糟糕的方面违反了准则

天气应用程序根据当前鼠标位置、网格运动和焦点控制来完成您的请求。这是一个复杂的说法,一些开发人员想出了一个解决方案来帮助用户尽可能地混淆他们的UI

请不要