有我的佈局:女兒DataGrid.Columns填補所有可用的寬度
<DataGrid x:Name="BooksGrid"
DataContext="{Binding WorkingBooksSet, Mode=TwoWay}"
ItemsSource="{Binding}"
RowDetailsVisibilityMode="VisibleWhenSelected"
AutoGenerateColumns="False"
VerticalAlignment="Top" HorizontalAlignment="Stretch"
ColumnWidth="*">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Id}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding Title}" />
...
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding Publications, Mode=TwoWay}"
AutoGenerateColumns="False"
VerticalAlignment="Top" HorizontalAlignment="Stretch"
ColumnWidth="*">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Id}" Width="Auto" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding Publisher}" />
<DataGridTextColumn Binding="{Binding ReleaseYear}" />
...
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
它是一個window
正如你所看到的,由於某種原因,女兒DataGrid
尚未填補所有可用空間,反而使它們變窄。此外,禁止手動調整列的大小。
我不理解這種行爲,尤其是「父」正確與你的孩子的DataGrid相同的代碼
我遇到過同樣的問題。除了可以'手動調整列大小'的部分。這是非常奇怪的行爲。 –
編輯:問題的答案[這裏](http://stackoverflow.com/questions/11956023/how-to-make-the-last-datagrids-column-occupy-the-whole-left-space)修復它爲了我。也許我的問題不同,很難說。 –