c# - WPF DataGrid显示有限的行数并在该数后滚动

标签 c# wpf xaml mvvm datagrid

我正在开发一个小型库存管理应用程序,其中的可用项目列表和已售项目列表显示在

WPF MVVM

我面临的问题是我只希望5个项目计数显示在datagrid中,而其他项目应该可以使用固定标题滚动。有什么方法可以(仅XAML代码)实现它。在其他论坛/帖子中找不到解决方案,因此创建了一个新的。
这是我的代码

<Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <TextBlock Grid.Column="0" Grid.Row="0" Margin="10 0 0 0" Text="Available List"/>
            <DataGrid ScrollViewer.CanContentScroll="True" 
                      ScrollViewer.VerticalScrollBarVisibility="Auto"
                      ScrollViewer.HorizontalScrollBarVisibility="Auto" Name="availablegrid" Grid.Row="1" Grid.Column="0" ItemsSource="{Binding DetailListCollection}" AutoGenerateColumns="False" CanUserSortColumns="True"
                      HorizontalAlignment="Left" Margin="10" CanUserResizeColumns="True" IsReadOnly="True"
                      Height="auto">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="ItemCode" Binding="{Binding ItemCode}"/>
                    <DataGridTextColumn Header="Weight" Binding="{Binding Weight,StringFormat=' {0} gm'}"/>
                    <DataGridTextColumn IsReadOnly="False" Header="Comment" Binding="{Binding Comment,FallbackValue=Empty}"/>
                    <DataGridTemplateColumn Header="Sold">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <Button Margin="5" Name="Sold"  Click="Sold_OnClick" Background="Red" Foreground="White" FontWeight="Bold" Content="Sold"/>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <DataGridTemplateColumn Header="Edit">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <Button Margin="5" Name="Edit1" Click="Edit1_OnClick"  Background="Red" Foreground="White" FontWeight="Bold" Content="Edit"/>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
            </DataGrid>

我尝试了ScrollViewer属性,但是没有用

最佳答案

我不确定是否正确。但是我认为您应该限制DataGrid的最大高度,以使DataGrid只能容纳5个项目,其余的可以滚动查看。

关于c# - WPF DataGrid显示有限的行数并在该数后滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48353939/

相关文章:

c# - 在 ITextSharp 免费许可证下动态创建 .pdf

c# - 在大数据集中寻找重复

c# - 按钮已禁用 - DialogHost 和日历

c# - 如何在 XAML (Xamarin Forms PCL) 中制作单选框

wpf - 使用 ObjectDataProvider

c# - 我究竟做错了什么?在构造函数中使用依赖属性的值

c# - 如何使用 iTextSharp 获取文本格式

c# - 参数化查询(C#、Oracle): How to produce a more readable representation?

WPF重绘问题

c# - WPF 网页浏览器 HTMLDocument