作業中のプロジェクトのために 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 の空の行でアプリケーションを起動しようとしましたが、これにより列ヘッダーが表示されますが、乱雑に見えます。アプリケーション内からその行を削除すると、列ヘッダーは残りますが、ウィンドウの読み込み時に削除すると消えます。
ですから、どんな助けでも大歓迎です。私の側でさらに何か必要な場合はお知らせください。