ScrollViewer和LonglistSelector滚动条冲突

时间:2013-09-17 13:15:30

标签: c# xml windows-phone-7 scroll windows-phone

在我的应用程序中,我有未知数量的类别,元素数量未知。我面临的问题是在UI中。 一个页面包含ScrollViewButtonLongListSelector(水平滚动)。

基本上我的布局如下:

<Grid>
 <ScrollViewer>
  <StacPanel>
   <Button/>
   <LongListSelector/>
   ...
  </StacPanel>  
 </ScrollViewer>
</Grid>

enter image description here

因此,当我尝试滚动(水平或垂直无关紧要)时,我必须重复手势3-5次才能开始滚动。例如,当我在水平滚动(LLS之一)时,我必须通过单击按钮来更改焦点,以便可以开始垂直滚动。 显然LLS和SV中的滚动条之间存在冲突,但我怎样才能避免它呢?

如果您有更好的想法或替代方案,那么任何帮助都将受到赞赏 - 这将是非常好的。不要犹豫。

对不起我的英语和错误的解释。

3 个答案:

答案 0 :(得分:4)

我不知道是否有人会再次遇到同样的问题,但我所做的以及对我来说似乎有用的是这个。

  1. 我创建了一个自定义控件,可以在scrollviewer中替换按钮和longlistselectors

  2. 然后我使用滑块from this project并创建自定义RepeatButtons

  3. 这个想法不是我的自定义控件是一个滑块指针,也许这不是最好的解决方案,但让我感到高兴的是表演者,它很棒。

答案 1 :(得分:1)

您应该使用LongListSelector页眉和页脚来放置您的按钮并在ScrollViewer上设置VerticalScrollBarVisibility =“Disabled”以禁用scrollviewer在scrollView上进行垂直滚动并在LongListSelector scrollviewer上执行相反的操作 如果找不到任何其他解决方案,可以使用Manipulation事件和RenderTransform使自己成为水平滚动。

答案 2 :(得分:1)

虽然无法彻底理解您的UI层次结构,但是我遇到了类似的情况,我克服了冲突,通过对水平内容使用动态构建的全景控件。