Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在stackpanel中滚动数据网格?_C#_Wpf_Scroll_Datagrid_Stackpanel - Fatal编程技术网

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>