即使有很多数据,WPF DataGrid 也无法滚动
WPF DataGrid Cannot Scroll even when there is a lot of data
我有一个DataGrid
,当我将数据加载到其中时,我无法向下滚动
这就是 DataGrid
的样子
如您所见,底部有几行我看不到
即使当我尝试将高亮显示在下方时,我仍然看不到下方的行。
DataGrid
是从列表中自动生成的。我已经尝试设置 VerticalScrollBarVisibility
& HorizontalScrollBarVisibility
但我仍然看不到其他数据。
这是我的 XAML 数据网格代码
<StackPanel Orientation="Vertical" Margin="0,0,0,0" Grid.Row="1">
<DataGrid
x:Name="dgvAttendance"
Margin="0,20"
CanUserSortColumns="True"
CanUserAddRows="False" SelectedIndex="0" AlternationCount="2" AutoGenerateColumns="True" SelectionMode="Single" EnableColumnVirtualization="True" IsReadOnly="True" ScrollViewer.CanContentScroll="False" CanUserReorderColumns="False" CanUserResizeColumns="False" HeadersVisibility="All" CanUserResizeRows="False" PreviewMouseWheel="DgvAttendance_PreviewMouseWheel" />
<Button
x:Name="btnExportExcel"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Width="110"
ToolTip="Resource name: MaterialDesignRaisedLightDarkButton" Margin="15,10" Content="Export File" HorizontalAlignment="Right" Click="BtnExportExcel_Click" />
</StackPanel>
数据网格上还有一个我看不到的按钮
这是我加载数据网格的代码
public void Main()
{
actuals = NewActual(@"C:\Users\IT\Desktop\Sample\SampleActual.dat");
emps = GetEmp();
var final = (from t1 in actuals
join t2 in emps on t1.ID equals t2.ID
where t1.ID == t2.ID
orderby t2.ID
select new
{
t1.ID,
t2.In,
t1.ActualLog
});
dgvAttendance.ItemsSource = final.ToList();
}
为什么我无法向下滚动并看到 DataGrid
下方的按钮?谢谢
根据 Polly 的建议
我刚刚用 ScrollViewer 包装了我的 StackPanel,所以它看起来像这样
<ScrollViewer Grid.Row="1">
<StackPanel Orientation="Vertical" Margin="0,0,0,0" >
<DataGrid
x:Name="dgvAttendance"
Margin="0,20"
CanUserSortColumns="True"
CanUserAddRows="False" SelectedIndex="0" AlternationCount="2" AutoGenerateColumns="True" SelectionMode="Single" EnableColumnVirtualization="True" IsReadOnly="True" ScrollViewer.CanContentScroll="False" CanUserReorderColumns="False" CanUserResizeColumns="False" HeadersVisibility="All" CanUserResizeRows="False" PreviewMouseWheel="DgvAttendance_PreviewMouseWheel" >
</DataGrid>
<Button
x:Name="btnExportExcel"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Width="110"
ToolTip="Resource name: MaterialDesignRaisedLightDarkButton" Margin="15,10" Content="Export File" HorizontalAlignment="Right" Click="BtnExportExcel_Click" />
</StackPanel>
<!-- Stack for Datagrid Ends Here -->
</ScrollViewer>
我有一个DataGrid
,当我将数据加载到其中时,我无法向下滚动
这就是 DataGrid
的样子
如您所见,底部有几行我看不到
DataGrid
是从列表中自动生成的。我已经尝试设置 VerticalScrollBarVisibility
& HorizontalScrollBarVisibility
但我仍然看不到其他数据。
这是我的 XAML 数据网格代码
<StackPanel Orientation="Vertical" Margin="0,0,0,0" Grid.Row="1">
<DataGrid
x:Name="dgvAttendance"
Margin="0,20"
CanUserSortColumns="True"
CanUserAddRows="False" SelectedIndex="0" AlternationCount="2" AutoGenerateColumns="True" SelectionMode="Single" EnableColumnVirtualization="True" IsReadOnly="True" ScrollViewer.CanContentScroll="False" CanUserReorderColumns="False" CanUserResizeColumns="False" HeadersVisibility="All" CanUserResizeRows="False" PreviewMouseWheel="DgvAttendance_PreviewMouseWheel" />
<Button
x:Name="btnExportExcel"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Width="110"
ToolTip="Resource name: MaterialDesignRaisedLightDarkButton" Margin="15,10" Content="Export File" HorizontalAlignment="Right" Click="BtnExportExcel_Click" />
</StackPanel>
数据网格上还有一个我看不到的按钮
这是我加载数据网格的代码
public void Main()
{
actuals = NewActual(@"C:\Users\IT\Desktop\Sample\SampleActual.dat");
emps = GetEmp();
var final = (from t1 in actuals
join t2 in emps on t1.ID equals t2.ID
where t1.ID == t2.ID
orderby t2.ID
select new
{
t1.ID,
t2.In,
t1.ActualLog
});
dgvAttendance.ItemsSource = final.ToList();
}
为什么我无法向下滚动并看到 DataGrid
下方的按钮?谢谢
根据 Polly 的建议
我刚刚用 ScrollViewer 包装了我的 StackPanel,所以它看起来像这样
<ScrollViewer Grid.Row="1">
<StackPanel Orientation="Vertical" Margin="0,0,0,0" >
<DataGrid
x:Name="dgvAttendance"
Margin="0,20"
CanUserSortColumns="True"
CanUserAddRows="False" SelectedIndex="0" AlternationCount="2" AutoGenerateColumns="True" SelectionMode="Single" EnableColumnVirtualization="True" IsReadOnly="True" ScrollViewer.CanContentScroll="False" CanUserReorderColumns="False" CanUserResizeColumns="False" HeadersVisibility="All" CanUserResizeRows="False" PreviewMouseWheel="DgvAttendance_PreviewMouseWheel" >
</DataGrid>
<Button
x:Name="btnExportExcel"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Width="110"
ToolTip="Resource name: MaterialDesignRaisedLightDarkButton" Margin="15,10" Content="Export File" HorizontalAlignment="Right" Click="BtnExportExcel_Click" />
</StackPanel>
<!-- Stack for Datagrid Ends Here -->
</ScrollViewer>