【发布时间】:2010-12-09 13:23:20
【问题描述】:
我在 Silverlight 应用程序中有一个 DataGrid,其中包含数据。我们的应用程序上还有一个按钮可以更改布局,从而使 DataGrid 更改宽度。
问题是当您处于“小”模式并四处滚动时,对于您看不到的列,它们的 DataGridCell 元素会变为 Visibility=Collapsed。现在,当您滚动时这很好,但是当 DataGrid 的大小增加以显示所有列时,它们保持折叠状态。但是由于某种原因,您始终可以看到第一行中的所有单元格。
这听起来像是 DataGrid 控件中的错误。有谁知道解决它的方法?我已经为 DataGrid 上的 SizeChanged 添加了一个处理程序,但我不太确定要调用什么来强制它显示那些折叠的单元格。
编辑:经过一些测试,我发现它只发生在 GridLinesVisibility="Horizontal"
XAML(单击将 DataGrid 的宽度从一半切换到全):
<StackPanel Orientation="Vertical">
<data:DataGrid x:Name="testDataGrid" GridLinesVisibility="Horizontal" />
<Button HorizontalAlignment="Center" Content="Switch Width" Name="switchWidthButton" Click="Button_Click" />
</StackPanel>
更新:尽管在未设置 GridLinesVisibilty 的情况下有时仍会发生这种情况。我还没有弄清楚这是在什么情况下发生的。
【问题讨论】:
-
您能否尝试将 XAML 提交到您的 DataGrid - 只是为了确保我没有测试错误。
标签: c# .net silverlight datagrid