2011-06-21 32 views
1

我想使用一个gridsplitter来调整网格行的大小,但我没有得到我期望的行为。silverlight resize datagrid datagridsplitter

<Grid x:Name="LayoutRoot" Background="White" Width="300"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="Auto"/> 
    </Grid.RowDefinitions> 
    <StackPanel Grid.Row="0"> 
     <StackPanel Orientation="Horizontal"> 
      <TextBlock Height="23" Text="Inventory:"/> 
     </StackPanel> 
     <sdk:DataGrid AutoGenerateColumns="False" Height="Auto" Name="dataGrid1" HorizontalAlignment="Left" IsReadOnly="True" > 
      <sdk:DataGrid.Columns> 
       <sdk:DataGridTextColumn Binding="{Binding Name}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" Header="Name" IsReadOnly="True" /> 
       <sdk:DataGridTextColumn Binding="{Binding CreatedDate}" Header="Created Date" /> 
       <sdk:DataGridTextColumn Binding="{Binding ChangedDate}" Header="Last Edited" /> 
      </sdk:DataGrid.Columns> 
     </sdk:DataGrid> 
    </StackPanel>   
    <sdk:GridSplitter Grid.Row="1" Height="10" Width="300" HorizontalAlignment="Stretch"/> 
    <Grid Grid.Row="2"></Grid> 
</Grid> 

分流 enter image description here

的移动分段 enter image description here

的举动后之前,我想在DataGrid来调整它的内容,在调整时,滚动条应该存在。

回答

1

问题是你有一个StackPanel DataGrid。垂直定向的堆叠面板不具有垂直边界,因此数据网格呈现其全高度不知道它将被裁剪。你应该使用另一个网格来得到你想要的结果: -

<Grid x:Name="LayoutRoot" Background="White" Width="300"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="Auto"/> 
    </Grid.RowDefinitions> 
    <Grid Grid.Row="0"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 
     <TextBlock Grid.Row="0" Height="23" Text="Inventory:"/> 
     <sdk:DataGrid Grid.Row="1" AutoGenerateColumns="False" Name="dataGrid1" HorizontalAlignment="Left" IsReadOnly="True" > 
      <sdk:DataGrid.Columns> 
       <sdk:DataGridTextColumn Binding="{Binding Name}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" Header="Name" IsReadOnly="True" /> 
       <sdk:DataGridTextColumn Binding="{Binding CreatedDate}" Header="Created Date" /> 
       <sdk:DataGridTextColumn Binding="{Binding ChangedDate}" Header="Last Edited" /> 
      </sdk:DataGrid.Columns> 
     </sdk:DataGrid> 
    </Grid>   
    <sdk:GridSplitter Grid.Row="1" Height="10" Width="300" HorizontalAlignment="Stretch"/> 
    <Grid Grid.Row="2"></Grid> 
</Grid>