我需要一个横向滚动的列表框,并且我已经遵循了有关如何实现的其他几个问题的建议。
我目前所做的是水平滚动,但是在滑动结束时它不会停留在我滚动到的位置,它会恢复到原来的显示 - 有点像它的一块弹性回到它的拉伸后的原始位置。 我的列表框包含按钮,我希望用户能够滑动列表框,转到他们想要的按钮,然后单击该按钮。
<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怀疑我在这里做错了什么,或者我应该以不同的方式做这件事?
答案 0 :(得分: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>