2012-01-01 9 views
5

¡Hola y gracias por mirar!¿Cómo desplazo una fila de cuadrícula en WPF/XAML?

Antecedentes

he hecho una pequeña aplicación simple en WPF que tiene un diseño de cuadrícula que consiste en una columna y dos filas. La fila superior contiene una etiqueta simple para el encabezado, y la fila inferior contiene un panel envolvente que se rellena dinámicamente con miniaturas de imagen en tiempo de ejecución. Aquí está el XAML:

<Window x:Class="HTNavigator.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" WindowState="Maximized" WindowStyle="None"> 
    <Window.Background> 
     <ImageBrush ImageSource="/HTNavigator;component/Images/HNBG.jpg" /> 
    </Window.Background> 
    <Grid > 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition /> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="75"/> 
      <RowDefinition Height="Auto"/> 
     </Grid.RowDefinitions> 
     <StackPanel Grid.Column="0" Grid.Row="0" Height="50" HorizontalAlignment="Left" Margin="30,10,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="Auto" FlowDirection="LeftToRight" Orientation="Horizontal" > 
      <Label Content="Home Navigator v0.1" FontFamily="Tahoma" FontSize="18" FontWeight="Bold" Foreground="White" /> 
      <Button Content="Close" Height="50" Click="Button_Click"></Button> 
     </StackPanel> 
     <ScrollViewer Grid.Row="1" Name="MyScrollViewer" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> 
      <WrapPanel HorizontalAlignment="Center" Name="spContainer" VerticalAlignment="Top" ClipToBounds="True"></WrapPanel> 
     </ScrollViewer> 
    </Grid> 
</Window> 

Problema

La barra de desplazamiento no aparece y el desplazamiento del ratón ruedas también no funciona. Originalmente no utilizar el diseño de la red, y por lo que esta vez esta parte de la XAML se comportaron como se esperaba:

<ScrollViewer Name="MyScrollViewer" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> 
      <WrapPanel HorizontalAlignment="Center" Name="spContainer" VerticalAlignment="Top"    ClipToBounds="True" ItemHeight="Auto"> </WrapPanel> 
</ScrollViewer> 

Ahora todo lo establece correctamente, pero no consigo mi capacidad de desplazamiento vertical (no lo hago quiere desplazamiento horizontal).

¿Alguna idea?

Gracias!

Matt

Respuesta

3

sé que es Nochevieja, pero que no tienen nada en la WrapPanel y tiene la altura de la fila en Auto para que crezca para el contenido. Pon algo en el WrapPanel y establece la altura en *. Y saque la Columna de la Etiqueta que está dentro de un StackPanel.

En su ejemplo de "antes de tener una Grilla" hay una Grilla.Rad. Feliz año nuevo.

+0

¿De qué estás hablando? La víspera de Año Nuevo era hace casi 14 horas. SCNR :) – ChrisWue

+0

Ja ja, lo siento todos los puntos buenos. ¡En realidad, tratar de apurar esta pregunta antes de ir a celebrar es el problema! El Wrappanel obtiene su contenido en tiempo de ejecución. Voy a intentar las otras cosas que mencionaste. ¡Gracias! –

+0

Gracias de nuevo BalamBalam - ¡Feliz año nuevo para ti también! –

Cuestiones relacionadas