我正在为工作中的一个项目将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中使用空行启动应用程序,这确实可以使列标题出现,但看起来很凌乱。如果我在应用程序内部删除该行,则列标题将保留,但如果我在窗口加载时删除它,则它们会消失。
因此,任何帮助都将不胜感激。如果您需要更多信息,请告诉我。