WPF的DataGrid的项目控制GridSplitter不动

问题描述

有我的密码

<Grid Grid.Row="2" Margin="10,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" 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>

问题是,一切都可以完美地看到,但是当您拖动网格分割器时,一切都保持原样,什么也没动,我在哪里错了?

解决方法

尝试更改它,以使您拥有3行,并且网格拆分器填充第1行。

赞:

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

可能还有其他问题-因为其中包含大量复杂的内容。然而。我只是在一个窗口中尝试了您的标记,但在该窗口中不起作用。

这样做:

    </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>

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...