c# - WPF Datagrid - 不显示任何滚动条

标签 c# wpf datagrid scrollbar

我的 Datagrid 在 ObservableCollection 上有一个绑定(bind),并在对 EF 获取的一些值进行分组后得到填充。

我的问题是,datagrid-height 超出了窗口大小。 有谁知道如何解决这个问题……我差点用谷歌搜索死了……:o

<UserControl x:Class="UltranizerV2.Views.Storage.InventoryList"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d">
    <Grid>
        <Grid.RowDefinitions>

            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="25"></RowDefinition>
        </Grid.RowDefinitions>


        <DockPanel  Grid.Row="0" >
            <DataGrid ItemsSource="{Binding PresentableInventoryItems}" VerticalAlignment="Stretch" AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Produkttitel" Width="350" Binding="{ Binding ProductTitle}"/>
                <DataGridTextColumn Header="Sku" Width="100" Binding="{ Binding Sku}" />
                <DataGridTextColumn Header="Menge" Width="60"  Binding="{ Binding Quantity}" />
            </DataGrid.Columns>    
            </DataGrid>
        </DockPanel>
        <Label Grid.Row="1">Arsch</Label>
        </Grid>

</UserControl>

最佳答案

总而言之,您的控件看起来不错,这表明问题出在可视化树的某个地方。最有可能的是 InventoryList,或者它的父项之一,它被放置在控件中,为它的子项提供无限量的增长空间,如 StackPanelScrollViewer Canvas 。由于 DataGrid 可以增长以容纳所有项目,因此滚动条不可见。

删除该控件或将其替换为限制其子项大小的控件

关于c# - WPF Datagrid - 不显示任何滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015890/

相关文章:

c# - XAML 命名空间 http ://schemas. microsoft.com/winfx/2006/xaml 未解析

c# - 在 Wpf Datagrid Column 中使用不同的控件编辑不同类型的对象

c# - 绑定(bind)中的属性 setter 调用了两次

c# - 在XAML的窗口内显示页面

c# - 使用矩阵变换(旋转)图像 - 设计时与运行时渲染结果

c# - 如何在 Blazor 中设置 "nav-item active"?

c# - 将图像加载到列表框中

c# - 为什么我的控件在代码隐藏中无法访问?

c# - 如何单击嵌套在数据网格内的数据网格中的复选框

c# - 将 ContextMenu 绑定(bind)到 Datagrid 列