我在调整包含DataGrid的列的大小时遇到问题。当我为包含DataGrid的列创建更多空间时,DataGrid实际上在Width中缩小。
试图谷歌寻求解决方案,但到目前为止没有发现任何有用的东西。
XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="45"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.7*"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="130"/>
</Grid.ColumnDefinitions>
<DataGrid
x:Name="DowloadedEpisodesDataGrid"
ItemsSource="{Binding DownloadedEpisodes, Mode=OneWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"
Grid.Column="0"
AutoGenerateColumns="False"
Background="White">
<DataGrid.Columns>
<DataGridCheckBoxColumn Width="50" Header="Import" Binding="{Binding IsSelected}" />
<DataGridTextColumn Width="Auto" Header="Downloaded episode" IsReadOnly="True" Binding="{Binding FileName}"/>
</DataGrid.Columns>
</DataGrid>
<GridSplitter Grid.Column="1" Width="5" Visibility="Visible" ResizeDirection="Columns" VerticalAlignment="Stretch" />
<views:EpisodeDetailsUserControl
x:Name="EpisodeDetailsUserControl"
DataContext="{Binding ElementName=DowloadedEpisodesDataGrid, Path=SelectedItem}"
Grid.Column="2"
Grid.ColumnSpan="2"/>
在调整大小之前:
调整大小后:
我想了解为什么默认行为是缩小DataGrid
,当然我非常想解决这个问题。
非常感谢提前。
答案 0 :(得分:3)
您需要在HorizontalAlignment
-
Stretch
设置为GridSplitter
<GridSplitter Grid.Column="1"
ResizeDirection="Columns"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch" />