如何用 ListBox 上的 ContentPresenter 替换 ScrollViewer?
根据此帖子末尾的帖子,您可以替换ListBox
的 ScrollViewer
和 ContentPresenter
可以在嵌套场景中禁用滚动。
但是,我不知道如何替换 ScrollViewer
。我必须重新创建模板吗?
According to a post at the very end of this thread you can replace the ScrollViewer
of a ListBox
with a ContentPresenter
to disable scrolling in a nested scenario.
However, I don't know how to replace the ScrollViewer
. Do I have to re-create the template?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,您需要分配自己的模板,但您将使用 ItemsPresenter,而不是 ContentPresenter。 ListBox 的默认模板包括一个包裹在其 ItemsPresenter 周围的 ScrollViewer。通过制作模板的副本,您可以删除 ScrollViewer 并保持模板的其余部分(和行为)完好无损。这是没有 ScrollViewer 的默认模板(如果需要,您也可以删除 IsGrouping 触发器):
Yes, you'll need to assign your own template but you'll be using an ItemsPresenter, not ContentPresenter. The default template for ListBox includes a ScrollViewer wrapped around its ItemsPresenter. By making a copy of the template you can just remove the ScrollViewer and leave the rest of the template (and behavior) intact. This is the default template without the ScrollViewer (you can also remove the IsGrouping Trigger if you want):