我在使用ScrollViewer时面临一个奇怪的问题
我有一个内置Grid的ScrollViewer。网格的高度需要垂直滚动条。在运行时,滚动条可见,但显示为禁用,并且两个箭头之间没有滚动指示符。
然而,在这个滚动查看器上方是另一组由滚动查看器包围的控件,实际上只是上面的方式,但这里的滚动查看器工作得很好
这是代码
<Grid><Canvas Height="250" Width ="400" Margin="0,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Background="White" Name="ModeCanvas">
<Rectangle Width="{Binding ElementName=ModeCanvas,Path=ActualWidth}" Height="{Binding ElementName=ModeCanvas,Path=ActualHeight}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stroke="Black" StrokeThickness="2"/>
<Grid Height="244" Width ="394" Margin="3,3,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Name="ModeParent">
<ScrollViewer VerticalScrollBarVisibility="Visible" >
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Name="ModeGrid" >
</Grid>
</ScrollViewer>
</Grid>
</Grid>
</Canvas>
<Canvas Height="250" Width="400" Margin="0,255,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Background="White" Name="InputDataCanvas">
<Rectangle Width="{Binding ElementName=InputDataCanvas,Path=ActualWidth}" Height="{Binding ElementName=InputDataCanvas,Path=ActualHeight}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stroke="Black" StrokeThickness="2"/>
<Grid Margin="5,5,5,5" Width="390" Height="240" Name="InputDataParent">
<ScrollViewer VerticalScrollBarVisibility="Visible" >
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Name="InputDataGrid" >
</Grid>
</ScrollViewer>
</Grid>
</Canvas>
<Canvas Margin="0,510,0,0" Height="250" Width ="400" VerticalAlignment="Top" HorizontalAlignment="Left" Background="White" Name="OutputDataCanvas">
<Rectangle Width="{Binding ElementName=OutputDataCanvas,Path=ActualWidth}" Height="{Binding ElementName=OutputDataCanvas,Path=ActualHeight}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stroke="Black" StrokeThickness="2" />
<Grid Margin="5,5,5,5" Width="390" Height="240" Name="OutputDataParent">
<ScrollViewer VerticalScrollBarVisibility="Visible">
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Name="OutputDataGrid">
</Grid>
</ScrollViewer>
</Grid>
</Canvas>
在这段代码中 - 前2个Canvas渲染滚动条很好,但由于某种原因,第三个是创建问题
任何想法?
修改
最后在代码中弄错了。问题在于背后的代码。
基本的问题是,当我们在那时调整窗口大小时,代码背后的一些代码正在改变前2个网格的高度而不是第三个网格的高度。最初插入每个网格(动态)的数据是这样的,前2个网格用于溢出而不是第3个网格。所以,现在当我调整窗口大小时,第三个网格仍然没有滚动查看器,即使现在数据溢出了空间,给人的印象是滚动查看器没有激活。
然而,我错过了一个简单的事实,即第3个网格的高度没有变化,而前2个网格高度正在变化,因此前2个网格的滚动查看器正常工作但不是第3个。
答案 0 :(得分:0)
ScrollViewer中的网格为空。 scrollviewer期望滚动的内容是什么?