C# 如何在stackpanel中滚动数据网格?
当C# 如何在stackpanel中滚动数据网格?,c#,wpf,scroll,datagrid,stackpanel,C#,Wpf,Scroll,Datagrid,Stackpanel,当数据网格的长度超过堆栈面板时,我想滚动它,所以我尝试了以下方法: <StackPanel Orientation="Horizontal"> <ScrollViewer VerticalScrollBarVisibility="Auto" CanContentScroll="True"> <DataGrid Name="dgConfig" VerticalAlignment="Stretch"
数据网格的长度超过堆栈面板时,我想滚动它,所以我尝试了以下方法:
<StackPanel Orientation="Horizontal">
<ScrollViewer VerticalScrollBarVisibility="Auto" CanContentScroll="True">
<DataGrid Name="dgConfig" VerticalAlignment="Stretch" AutoGenerateColumns="False">
<DataGrid.Columns>
...
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</StackPanel>
...
但这不起作用,我在这个网站上搜索过,没有找到任何可用的解决方案。那么我该如何解决这个问题呢?谢谢 尝试添加VerticalScrollBarVisibility=“Auto”,ScrollViewer.CanContentScroll=“True”到datagrid属性。ScrollViewer
和StackPanels
不能很好地协同工作,因为StackPanel
属性设置为水平时,其子元素的水平空间是无限的;属性设置为水平时,其垂直空间是无限的垂直
因此,您必须为堆叠面板指定高度:
<StackPanel Orientation="Horizontal" Height="100">
DockPanel而不是StackPanel适合我。使用其他面板,如grid或DockPanel?您的代码示例的行为如何?StackPanel高度是否增加而不是显示滚动条?滚动条没有显示。
<DataGrid Name="dgConfig" VerticalAlignment="Stretch" AutoGenerateColumns="False"
VerticalScrollBarVisibility="Auto">
<DataGrid.Columns>
...
</DataGrid.Columns>
</DataGrid>