2

我需要一个水平滚动的列表框,并且我遵循了关于如何实现的其他几个问题的建议。

我目前确实水平滚动,但在滑动结束时,它不会停留在我滚动到的位置,它会恢复到原始显示 - 有点像它的一块弹性,在之后又回到原来的位置它被拉长了。我的列表框包含按钮,我希望用户能够滑动列表框,找到他们想要的按钮,然后单击该按钮。

        <DataTemplate x:Key="ClassesDisplay">
        <Button Height="60"  FontSize="12"  Content="{Binding ClassName}" />
    </DataTemplate>


                <ScrollViewer HorizontalScrollBarVisibility="Auto" Margin="0,6,-196,0" Height="Auto" Name="imageScroll">  

                <ListBox x:Name="ClassesListbox"
                     Margin="114,371,24,814" Height="60" ItemsSource="{Binding TimetableClasses}"
                     ItemTemplate="{StaticResource ClassesDisplay}" >

                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel  Orientation="Horizontal"></StackPanel>
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>


                </ListBox>
           </ScrollViewer>  

AI 怀疑我在这里做错了什么,还是我应该以不同的方式做这件事?

  • 谢谢
4

1 回答 1

2

看来您没有为 ScrollViewer 添加宽度

尝试添加宽度

<ScrollViewer HorizontalScrollBarVisibility="Auto" Margin="0,6,-196,0" Height="Auto" Name="imageScroll" Width="400">  
 //Your ListBox 
</ScrollViewer>  

或者列表框有内部滚动条,你可以这样使用

 <ListBox ScrollViewer.HorizontalScrollBarVisibility="Auto"
     ScrollViewer.VerticalScrollBarVisibility="Disabled" 
     // your code
     >
 </ListBox>
于 2012-09-24T04:50:56.140 回答