2011-03-09 23 views
12

tengo una cuadrícula:WPF: ScrollViewer en rejilla

<Grid.RowDefinitions> 
     <RowDefinition Height="100"/> 
     <RowDefinition Height="*"/> 
</Grid.RowDefinitions> 

La segunda fila está con ScrollViewer:

<ScrollViewer VerticalScrollBarVisibility="Auto" MinHeight="400" Grid.Row="1"> 
      <ItemsControl ItemsSource="{Binding SelectedUserControls}"/> 
    </ScrollViewer> 

quiero la segunda fila para estar con desplazamiento si es necesario, Pero el rollo nunca es visible, evento si los controles de los elementos son más grandes que la pantalla.

¿Cómo puedo hacer que aparezca el desplazamiento cuando sea necesario?

+1

¿Qué está envolviendo su grilla? – ChrisF

Respuesta

4

EDIT:

Trate de no incluir 'MinHeight = 400' y apuesto funciona !!

Tiene una MinHeight en sus ItemsControl de 400. Por lo tanto, hasta que tenga suficientes elementos para ocupar los 400, no verá su barra de desplazamiento. Supongo que el contenedor que contiene su cuadrícula (o la altura explícita en su cuadrícula es menos de 400), y tiene suficientes elementos para ser demasiado grande para ese contenedor, pero no suficientes elementos para llenar el MinHeight de su ItemsControl.

respuesta original: Me acaba de ejecutar una aplicación de prueba con 30 elementos en ella (lo suficiente para llenar el MinHeight) y parece que funciona bien:

<Window x:Class="TestApp11.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:l="clr-namespace:TestApp11" 
    Title="Window1" Loaded="Window_Loaded" Height="600" Width="800"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="100"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <ScrollViewer VerticalScrollBarVisibility="Auto" MinHeight="400" Grid.Row="1"> 
      <ItemsControl> 
       ... 
       <ListBoxItem Content="Item 30" /> 
       ... 
      </ItemsControl> 
     </ScrollViewer> 
    </Grid> 
</Window> 

¿Su recipiente que contiene la cuadrícula tienen una altura explícita?

Cuestiones relacionadas