我要滚动的datagrid
时,它的长度超过stackpanel
,所以我尝试这样做:
<StackPanel Orientation="Horizontal">
<ScrollViewer VerticalScrollBarVisibility="Auto" CanContentScroll="True">
<DataGrid Name="dgConfig" VerticalAlignment="Stretch" AutoGenerateColumns="False">
<DataGrid.Columns>
...
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</StackPanel>
但是,这并不工作,我已经搜索这个网站上,并没有发现任何缴费的解决方案。 所以,我应该怎么解决这个问题? 谢谢!
ScrollViewers
和StackPanels
不工作很好地结合在一起,因为一个StackPanel
如果措施,无限的水平空间的子元素Orientation
属性设置为Horizontal
,如果它被设置为无限垂直空间Vertical
。
所以,你将不得不指定一个高度StackPanel
:
<StackPanel Orientation="Horizontal" Height="100">
如果你不这样做,将有无限的高度,这就是为什么你看到没有滚动条。
另外,和更好的选择,将是摆脱了StackPanel
,并使用另一个Panel
并不措施的无限空间的子元素。
该DataGrid
都有自己ScrollViewer
内置的,所以你不必把它放在里面ScrollViewer
元素自己。 摆脱了StackPanel
(S)和ScrollViewer
:
<DataGrid Name="dgConfig" VerticalAlignment="Stretch" AutoGenerateColumns="False"
VerticalScrollBarVisibility="Auto">
<DataGrid.Columns>
...
</DataGrid.Columns>
</DataGrid>
DockPanel中的StackPanel中,而不是为我工作。
尝试添加VerticalScrollBarVisibility = “自动”,ScrollViewer.CanContentScroll = “true” 以数据网格属性。