4

我在调整包含 DataGrid 的列的大小时遇到​​问题。当我为包含 DataGrid 的列创建更多空间时,DataGrid 的宽度实际上会缩小。

试图用谷歌搜索解决方案,但到目前为止没有发现任何有用的东西。

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,当然我非常想解决这个问题。

提前谢谢了。

4

1 回答 1

4

您需要设置HorizontalAlignment为-StretchGridSplitter

<GridSplitter Grid.Column="1"
              ResizeDirection="Columns"
              VerticalAlignment="Stretch" 
              HorizontalAlignment="Stretch" />
于 2013-12-08T16:00:40.840 回答