Si può inserire la tela all'interno di uno scrollviewer. Ho provato questo test rapido e mi ha permesso di scorrere il contenuto della tela.
<ScrollViewer Height="100" Width="200">
<Canvas Height="400" Width="400">
//Content here
</Canvas>
</ScrollViewer>
Edit: Ecco un esempio in cui le barre di scorrimento appaiono solo quando è necessario, e cambia dinamicamente al variare della dimensione del quadro.
<Button Content="Change Canvas Size" Click="ChangeCanvasSize_Click"/>
<ScrollViewer Height="100" Width="200" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Canvas x:Name="TestCanvas">
<TextBlock Text="Test Test"/>
</Canvas>
</ScrollViewer>
modificare le dimensioni delle tele con pulsante di scatto:
private void ChangeCanvasSize_Click(object sender, RoutedEventArgs e)
{
TestCanvas.Width = 600;
TestCanvas.Height = 600;
}
In questo esempio, iniziare con senza barre di scorrimento e quando clicco sul pulsante per espandere la tela, scroll-bar apparire.
fonte
2010-05-13 18:49:10
Grazie per la risposta. Ma il fatto è che non conosco la dimensione della mia tela fino al runtime. Quindi non può avere una tela di dimensioni fisse. Aumenterò la dimensione dell'area di disegno se l'utente, ad esempio, fa clic vicino al bordo della tela esistente, quindi la larghezza e/o l'altezza della tela aumenterà di 50 unità e la barra di scorrimento dovrebbe apparire. – Scooby
Questo dovrebbe funzionare, se si imposta la visibilità delle barre di scorrimento su "Auto". Ho modificato il mio esempio per illustrare. –