c# - 只有标题数据的 WPF Datagrid 水平滚动

标签 c# wpf datagrid

我有一个 WPF Datagrid,在初始阶段我将分配 100 列标题给 Datagrid,但我无法水平滚动它可以查看所有列标题。

DataGrid 没有任何行,ItemSource 为空。当我只有列标题(没有行)时,如何实现水平滚动。

我将 ItemSource 绑定(bind)到一个只有列标题而没有行的 DataTable。

我如何在这种情况下滚动。

最佳答案

这里有一个对我有用的解决方法:只需将 DataGrid 放入 ScrollViewer 并创建一个 DataTrigger 来设置如果 DataGrid 没有项目,则 ScrollViewerHorizo​​ntalScrollBarVisibilityVisible

<ScrollViewer VerticalScrollBarVisibility="Disabled">
    <ScrollViewer.Style>
        <Style TargetType="ScrollViewer">
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=dataGrid, Path=HasItems}" Value="False">
                    <Setter Property="HorizontalScrollBarVisibility" Value="Visible"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ScrollViewer.Style>
    <DataGrid Name="dataGrid"/>
</ScrollViewer>

关于c# - 只有标题数据的 WPF Datagrid 水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650658/

相关文章:

c# - WPF Datagrid,一旦创建就可以选择或关注行?

c# - 是否可以在 WPF 的单独进程中隔离某些控件?

c# - 我可以安全地忽略 CodeAnalysis 警告 : replace string == "" with string. IsNullOrEmpty 吗?

wpf - 如何让边框修剪子元素?

c# - WPF 数据网格滚动问题

c# - 如何将 DateTime 的 "time"转换为 int?

c# - 设置没有 Setter 的 C# 属性

c# - 短+短!=短?

wpf - 我可以根据某些条件对相同的数据类型使用不同的数据模板吗?

c# - 触摸滚动在 WPF 中不起作用