2012-04-26 10 views
5

Mi piacerebbe avere un'interfaccia con 3 componenti uno accanto all'altro. Il primo sarebbe un ListView e gli altri due sono Grid.ScrollViewer non scorre

Poiché i componenti si riverseranno a destra, voglio inserirli in un ScrollViewer. Non ci sono riuscito. Ho provato a fare un esempio molto semplice da provare, ma anche l'esempio fallisce.

<ScrollViewer Grid.Column="1" Grid.Row="2" HorizontalAlignment="Left" VerticalAlignment="Top" Width="600" Height="400"> 
     <StackPanel Width="1200" Height="400" Orientation="Horizontal"> 
      <Border Background="AntiqueWhite" Width="400" Height="400" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
      <Border Background="Blue" Width="400" Height="400" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
      <Border Background="LimeGreen" Width="400" Height="400" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
     </StackPanel> 
    </ScrollViewer> 

Come si può vedere, ScrollViewer è all'interno di una griglia. Cosa mi sono perso?

risposta

8

Prova impostazioni queste proprietà sullo spettatore di scorrimento: -

<ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible" ZoomMode="Disabled" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Left" VerticalAlignment="Top" Width="600" Height="400"> 
    <StackPanel Width="1200" Height="400" Orientation="Horizontal"> 
     <Border Background="AntiqueWhite" Width="400" Height="400" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
     <Border Background="Blue" Width="400" Height="400" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
     <Border Background="LimeGreen" Width="400" Height="400" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
    </StackPanel> 
</ScrollViewer> 

che funziona per me normalmente!

+2

Ha funzionato. Deve essere stregoneria ... grazie! – Jonas

+0

puoi suggerirmi un metodo per scorrere usando scrollviewer per l'input tattile. –