3
當在DataGrid(或具有列的任何其他控件)中重新調整列的大小時,該列中的ColumnSpan跨越具有Width =「*」的ColumnDefinition,同時嵌套ScrollViewer會在ColumnDefinitions重新調整大小的時候出現這種奇怪的行爲。DataGrid列重新調整大小,重新調整大小Grid ColumnDefinitions
下面的XAML示例顯示了此行爲。
有誰知道這裏發生了什麼,爲什麼發生?該ColumnDefinitions甚至有固定的寬度,但他們仍然被重新調整大小...
<Window.Resources>
<x:Array x:Key="PointList" Type="{x:Type Point}">
<Point X="1" Y="4" />
<Point X="2" Y="3" />
<Point X="3" Y="2" />
<Point X="4" Y="1" />
</x:Array>
</Window.Resources>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="200" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Background="Red" Grid.Column="0" Content="Something 1" />
<Label Background="Green" Grid.Column="1" Content="Something 2" />
<Label Background="Blue" Grid.Column="2" Content="Something 3" />
<DataGrid ItemsSource="{StaticResource PointList}" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" />
</Grid>
</ScrollViewer>