考虑以下场景,表示左侧的项目列表和右侧的选定项目明细:
<ScrollViewer Name="scroll1" >
<DockPanel>
<ScrollViewer Name="scroll2" DockPanel.Dock="Left" >
<Really Long List Box />
</ScrollViewer>
<Selected Item Details />
</DockPanel>
</ScrollViewer>
(在上面的代码中,scroll2始终处于禁用状态。)
在某些情况下,“选定项目详细信息”高度可能优于窗口高度。在这些情况下,应该启用scroll1。但在大多数情况下并非如此。唯一比窗口高度大的控件是“Really Long List Box”,因此只能启用scroll2。
我知道最简单的方法是将scroll1放在“Selected Item Details”的正上方,如下所示:
<ScrollViewer Name="scroll1" >
<Selected Item Details />
</ScrollViewer>
但这是一个内部框架,分为几个UserControls,scroll1控件只作为子控件的phaceholder,所以我无法删除它。
当“选定项目详细信息”适合窗口时,有没有办法只启用scroll2?
答案 0 :(得分:1)
如果没有明确设置scrollviewer的高度和宽度,那么它将采用父元素的高度和宽度。在这种情况下,看起来scroll2正在考虑停靠面板的高度和宽度,这就是为什么不启用scroll2滚动的原因。尝试设置scroll2的高度和宽度,你应该可以滚动它。