Windows8在天气应用程序中滚动

时间:2013-03-03 17:14:09

标签: windows-8 windows-store-apps winrt-xaml

我的布局如下所述:

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

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

我希望达到天气应用中的效果。

在我的应用程序中,当你使用鼠标滚轮滚动时,当指针越过ItemsControl时,它立即开始在天气应用程序中滚动verticaly wheras,有流畅的水平滚动效果,并且当有一段时间悬停该垂直收集时,滚动verticaly开始。 / p>

这种行为是默认实现的吗?

Szymon

2 个答案:

答案 0 :(得分:2)

通常,指南是在水平滚动转发器中引入垂直滚动是一个坏主意。我认为你不应该将Weather(或任何标准的Windows 8应用程序)视为模拟模型。他们中的大多数人在一些最糟糕的方面违反了指导方针。

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

请,不要。

答案 1 :(得分:0)

我认为他们为实现这一目标所做的是:

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

我没有对此进行测试,看看是否有效,但我认为应该这样做。