【问题标题】:Fix DataGrid Column Headings When Scroll Viewer is Applied应用滚动查看器时修复 DataGrid 列标题
【发布时间】:2010-10-06 14:01:30
【问题描述】:

我有一个像这样包裹在 ScrollViewer 中的 DataGrid...

<ScrollViewer MaxHeight="600" VerticalScrollBarVisibility="Auto"
              BorderThickness="0" Padding="0">
    <sdk:DataGrid ItemsSource="{Binding BatchItems}" IsReadOnly="True">
        <sdk:DataGrid.Columns>
            <!-- Yada, yada, yada -->
        </sdk:DataGrid.Columns>
    </sdk:DataGrid>
</ScrollViewer>

它工作正常,滚动条在它应该出现的时候出现。但是,当我向下滚动时,DataGrid 列标题向上移动并且不再可见。我想冻结列标题,这样当我向下滚动时我仍然知道我在看什么。如何做到这一点?

【问题讨论】:

  • 如果你只想滚动行,为什么不让 DataGrid 在没有 ScrollViewer 的情况下完成它的工作?
  • @Michael 怎么样?我不确定你的意思。如果我只使用 DataGrid,当有足够的行流过我的 StackPanel 时,我不会得到滚动条。
  • 所以您的 DataGrid 会随着数据的添加而增长?尝试在 DataGrid 上设置一个高度(并设置 VerticalScrollBarVisibility="Visible"),看看它是否会做你想做的事情。
  • @Michael 你成功了!请将此添加为答案,以便我们为您提供一些代表。
  • @Michael 我删除了 ScrollViewer,向我的 DataGrid 添加了 MaxHeight,并将 VerticalScrollBarVisibility 设置为“Auto”。它就像一个魅力!

标签: silverlight datagrid scrollviewer


【解决方案1】:

感谢Michael Todd 的提示。我能够完全取消 ScrollViewer。显然,DataGrid 支持开箱即用的滚动...

<sdk:DataGrid ItemsSource="{Binding BatchItems}" IsReadOnly="True"
              MaxHeight="600" VerticalScrollBarVisibility="Auto">
    <sdk:DataGrid.Columns>
        <!-- Yada, yada, yada -->
    </sdk:DataGrid.Columns>
</sdk:DataGrid>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 2013-08-02
    • 1970-01-01
    • 2018-01-10
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多