我有 ItemControl
它为ObservableCollection
内的每条记录显示一个面板。
我的问题是.......
当ObservableCollection增加窗口的大小无法容纳更多面板时,它只显示前六个面板。
所以标准,ObservableCollection中每个记录的一个面板无法完成。
所以,我需要滚动条,以便我可以访问每个面板。 它是如何实现的?
请参阅下面的一个屏幕截图和此处的Code
感谢......
答案 0 :(得分:6)
您需要在ScrollViewer
内托管您的面板。这允许它超出可用空间,而ScrollViewer
添加一个滚动条。
您可以通过修改ItemsControl
模板来执行此操作:
<ItemsControl>
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer>
<ItemsPresenter/>
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
</ItemsControl>
答案 1 :(得分:0)
将您想要滚动条的任何控件放入ScrollViewer。从MSDN获取的示例:
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel VerticalAlignment="Top" HorizontalAlignment="Left">
<TextBlock TextWrapping="Wrap" Margin="0,0,0,20">Scrolling is enabled when it is necessary.
Resize the window, making it larger and smaller.</TextBlock>
<Rectangle Fill="Red" Width="500" Height="500"></Rectangle>
</StackPanel>
</ScrollViewer>