【发布时间】: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