0

当 ItemsControl 中的项目溢出其容器时,如何使用触发器交换模板?

在我当前的实现中,我想根据 ItemsControl 的当前状态是否显示一个更简短的模板形式,如果滚动条可见性设置为 Auto,内容会导致 ScrollViwer 的滚动条出现。因此,我对 ScrollViewer 或 ItemsControl 上的任何属性都感兴趣,这可能会给我一个关于它是否溢出它的 ScrollViewer 的线索。如果我必须使用一些自定义 ValueConverter 来创建一个合理的布尔值来绑定,我想这也可以。

4

1 回答 1

1

好的,所以我最终自己解决了这个问题。

在我的情况下,我使用的是逻辑滚动而不是物理滚动,因为我有一个水平布局,所以我所要做的就是在 ScrollViewer.ScrollableWidth 上触发。在我的情况下让这个工作的秘诀是确保我将 ScrollViewer.Horizo​​ntalScrollBarVisibility 设置为 Hidden 而不是 Disabled。这将允许滚动内容,并使 scrollableWidth 属性实际上具有有意义的值。

注意:奇怪地将 Horizo​​ntalScrollBarVisibility 设置为 Hidden 似乎会在视觉上折叠滚动条,所以我不完全确定在这种情况下 Collapse 和 Hidden 之间有什么区别。

于 2009-10-07T02:24:06.253 回答