问题描述
有我的密码
<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>
@H_502_5@问题是,一切都可以完美地看到,但是当您拖动网格分割器时,一切都保持原样,什么也没动,我在哪里错了?
解决方法
尝试更改它,以使您拥有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>