我正在为工作中的项目将 Silverlight 应用程序移植到 WPF,但我遇到了一个小问题。在 Silverlight 应用程序中,Datagrid 的 ItemsSource 是一个最初为空的 ObservableCollection。当我第一次加载应用程序时,会显示列标题,即使 DataGrid 本身是空的。我现在正试图在 WPF 应用程序中实现相同的目标。ObservableCollection 和 Datagrid 都是相同的,但现在列标题仅在我向 Datagrid 添加行时出现。我的 Datagrid 的 XAML 如下:
<DataGrid ColumnWidth="196" GridLinesVisibility="All"
AutoGenerateColumns="True" IsReadOnly="True" HorizontalAlignment="Center"
Height="375" Width="775" ItemsSource="{Binding source}"
RowBackground="#A5BACA" AlternatingRowBackground="LightGray"
VerticalAlignment="Center" Name="documentsDG"
FontWeight="Normal" FontSize="13" HeadersVisibility="Column"
Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="4">
</DataGrid>
就像我说的,添加和删除行可以正常工作,只是我想找到一种方法使列标题显示在 Datagrid 中没有任何数据。此外,我尝试在 Datagrid 中使用空行启动应用程序,这确实使列标题出现,但看起来很乱。如果我从应用程序中删除该行,列标题仍然存在,但如果我在窗口加载时将其删除,它们就会消失。
因此,任何帮助将不胜感激。让我知道您是否需要更多关于我的信息。