c# - 滚动条,如果 Items 超过 itemsControl 内部

标签 c# .net wpf

我有 ItemControl

它为 ObservableCollection 中的每条记录显示一个面板

我的问题是……

当 ObservableCollection 增加窗口的大小无法容纳更多面板时,它会显示仅前六个面板。

因此,ObservableCollection 中每条记录的一个面板无法完成。

所以,我需要有滚动条,这样我才能访问每个面板。 如何实现?

请参阅下面的屏幕截图和 Code在这里

enter image description here

谢谢......

最佳答案

您需要在 ScrollViewer 中托管您的面板。这允许它超出可用空间,同时 ScrollViewer 添加了一个滚动条。

您可以通过修改 ItemsControl 模板来做到这一点:

<ItemsControl>
  <ItemsControl.Template>
    <ControlTemplate>
     <ScrollViewer>
       <ItemsPresenter/>
     </ScrollViewer>
   </ControlTemplate>
  </ItemsControl.Template>
</ItemsControl>

关于c# - 滚动条,如果 Items 超过 itemsControl 内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6161881/

相关文章:

c# - 我应该在 Reactive Extensions (Rx) Subject<T> 上调用 Dispose

.net - 处置或不处置 (CA2000)

c# - Silverlight 和 Entity Framework 解决方案的策略

c# - 将字符串转换为数组不起作用

javascript - 在 Gridview 内的 jQuery 中获取隐藏字段值

.net - .Net 中是否有一种方法可以通过现有的 XML 文件以编程方式生成 DTD?

wpf - 动画路径就像在 Canvas 上绘制一样

c# - ElementHost 内的 WPF 控件呈现问题

.net - 如何在非 Silverlight .NET 应用程序 (.NET 4.0/WPF) 中使用 System.Json

c# - 与私有(private) CLR 属性相比,绑定(bind)私有(private)依赖属性的工作方式不同