Il y a mon code

<Grid Grid.Row="2" Margin="10,0,10,5">
            <Border BorderBrush="DarkGray" BorderThickness="1"></Border>
            <ScrollViewer BorderBrush="White" BorderThickness="10" Margin="1">
                <ItemsControl ItemsSource="{Binding DataViews,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Grid.IsSharedSizeScope="True">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition></RowDefinition>
                                    <RowDefinition></RowDefinition>
                                </Grid.RowDefinitions>
                                    <DataGrid Grid.Row="0" MaxHeight="400" VerticalScrollBarVisibility="Auto" VerticalAlignment="Stretch" Margin="0,0,10,0" MaxColumnWidth="450"
                                          RowStyle="{StaticResource DataGridRowSql}" Style="{StaticResource DataGridStyleSQL}"
                                          ColumnHeaderStyle="{StaticResource StyleDataGridColumnHeaderDefault}" ItemsSource="{Binding}"
                                          IsReadOnly="{Binding RelativeSource={RelativeSource AncestorType=Page},Path=Locked}"
                                          RowEditEnding="DataGrid_RowEditEnding" AutoGeneratingColumn="DataGrid_AutoGeneratingColumn">
                                        <DataGrid.CommandBindings>
                                            <CommandBinding Command="Copy" Executed="CommandBinding_Executed"></CommandBinding>
                                        </DataGrid.CommandBindings>
                                        <DataGrid.InputBindings>
                                            <KeyBinding Key="C" Modifiers="Ctrl" Command="Copy"></KeyBinding>
                                        </DataGrid.InputBindings>
                                    </DataGrid>
                                <GridSplitter Grid.Row="1" Background="Red" Height="10" HorizontalAlignment="Stretch" ResizeDirection="Rows" ResizeBehavior="PreviousAndNext"></GridSplitter>
                            </Grid>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel VerticalAlignment="Stretch"></StackPanel>
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                </ItemsControl>
            </ScrollViewer>
        </Grid>

Le problème est que tout est parfaitement vu mais lorsque vous faites glisser le séparateur de grille tout reste exactement tel qu'il est, rien ne bouge du tout, où ai-je tort ?

0
Alessio Ricci 5 sept. 2020 à 16:17

1 réponse

Meilleure réponse

Essayez de le changer pour que vous ayez 3 lignes et que le séparateur de grille remplisse la ligne 1.

Comme ça:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
        <RowDefinition Height="10"/>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <GridSplitter Grid.Row="1" Background="Red" 
                  HorizontalAlignment="Stretch" 
                  ResizeDirection="Rows" 
                  ResizeBehavior="PreviousAndNext"/>

Il peut y avoir d'autres problèmes - parce que vous avez un tas de choses compliquées avec cela à l'intérieur. Toutefois. J'ai essayé votre balisage juste dans une fenêtre et cela ne fonctionne pas là-bas.

Cela fait:

    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
            <RowDefinition Height="10"/>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        <GridSplitter Grid.Row="1" Background="Red" 
                      HorizontalAlignment="Stretch" 
                      ResizeDirection="Rows" 
                      ResizeBehavior="PreviousAndNext"/>
        <Rectangle Fill="Yellow"/>
        <Rectangle Fill="Lavender" Grid.Row="2"/>
    </Grid>
</Window>
0
Andy 5 sept. 2020 à 15:58