Classe ScrollViewer
Aggiornamento: Luglio 2008
Rappresenta un'area scorrevole che può contenere altri elementi visibili.
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/xaml/presentation
[LocalizabilityAttribute(LocalizationCategory.Ignore)] [TemplatePartAttribute(Name = "PART_HorizontalScrollBar", Type = typeof(ScrollBar))] [TemplatePartAttribute(Name = "PART_VerticalScrollBar", Type = typeof(ScrollBar))] [TemplatePartAttribute(Name = "PART_ScrollContentPresenter", Type = typeof(ScrollContentPresenter))] public class ScrollViewer : ContentControl
/** @attribute LocalizabilityAttribute(LocalizationCategory.Ignore) */ /** @attribute TemplatePartAttribute(Name = "PART_HorizontalScrollBar", Type = ScrollBar) */ /** @attribute TemplatePartAttribute(Name = "PART_VerticalScrollBar", Type = ScrollBar) */ /** @attribute TemplatePartAttribute(Name = "PART_ScrollContentPresenter", Type = ScrollContentPresenter) */ public class ScrollViewer extends ContentControl
public class ScrollViewer extends ContentControl
<ScrollViewer> Content </ScrollViewer>
Un oggetto ScrollViewer consente la visualizzazione del contenuto in un'area più piccola delle dimensioni reali. Quando il contenuto di ScrollViewer non è completamente visibile, ScrollViewer visualizza barre di scorrimento che l'utente può utilizzare per spostare le aree di contenuto visibili. L'area che include tutto il contenuto di ScrollViewer è l'estensione. L'area visibile del contenuto è il riquadro di visualizzazione.
Lo scorrimento fisico viene utilizzato per scorrere il contenuto di un incremento fisico predeterminato, in genere un valore specificato in pixel. Lo spostamento logico viene utilizzato per scorrere fino all'elemento successivo nella struttura ad albero logica. Se viene richiesto uno scorrimento fisico anziché logico, eseguire il wrapping dell'elemento Panel host in un oggetto ScrollViewer e impostare la relativa proprietà CanContentScroll su false. Lo scorrimento fisico rappresenta il comportamento predefinito per la maggior parte degli elementi Panel.
Se ScrollViewer contiene un numero elevato di elementi, le prestazioni di scorrimento possono risultare rallentate. In questo caso, impostare IsDeferredScrollingEnabled su true. In tal modo la visualizzazione del contenuto rimane statica mentre si trascina Thumb e viene aggiornata solo al rilascio di Thumb.
Poiché le barre di scorrimento per un elemento ScrollViewer sono definite nello stile predefinito dell'elemento, non verranno più visualizzate se si applica uno stile personalizzato a un oggetto ScrollViewer. Le barre di scorrimento devono essere definite nello stile personalizzato per essere visualizzate. Per un esempio di implementazione delle barre di scorrimento in uno stile personalizzato, vedere Esempio di stile ScrollViewer.
In questo esempio viene illustrato come creare e utilizzare un elemento ScrollViewer in Extensible Application Markup Language (XAML).
Nell'esempio seguente viene creata una finestra che contiene testo e un rettangolo. Le barre di scorrimento vengono visualizzate solo quando sono necessarie. Quando la finestra viene ridimensionata, le barra di scorrimento appaiono e scompaiono.
Per l'esempio completo, vedere Esempio ScrollViewer.
// Create the application's main window mainWindow = new Window (); mainWindow.Title = "ScrollViewer Sample"; // Define a ScrollViewer myScrollViewer = new ScrollViewer(); myScrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; // Add Layout control myStackPanel = new StackPanel(); myStackPanel.HorizontalAlignment = HorizontalAlignment.Left; myStackPanel.VerticalAlignment = VerticalAlignment.Top; TextBlock myTextBlock = new TextBlock(); myTextBlock.TextWrapping = TextWrapping.Wrap; myTextBlock.Margin = new Thickness(0, 0, 0, 20); myTextBlock.Text = "Scrolling is enabled when it is necessary. Resize the Window, making it larger and smaller."; Rectangle myRectangle = new Rectangle(); myRectangle.Fill = Brushes.Red; myRectangle.Width = 500; myRectangle.Height = 500; // Add child elements to the parent StackPanel myStackPanel.Children.Add(myTextBlock); myStackPanel.Children.Add(myRectangle); // Add the StackPanel as the lone Child of the Border myScrollViewer.Content = myStackPanel; // Add the Border as the Content of the Parent Window Object mainWindow.Content = myScrollViewer; mainWindow.Show ();
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" WindowTitle="ScrollViewer Sample"> <ScrollViewer HorizontalScrollBarVisibility="Auto"> <StackPanel VerticalAlignment="Top" HorizontalAlignment="Left"> <TextBlock TextWrapping="Wrap" Margin="0,0,0,20">Scrolling is enabled when it is necessary. Resize the window, making it larger and smaller.</TextBlock> <Rectangle Fill="Red" Width="500" Height="500"></Rectangle> </StackPanel> </ScrollViewer> </Page>
Altro codice
| Procedura: utilizzare i metodi di scorrimento del contenuto di ScrollViewer | In questo esempio viene illustrato come utilizzare i metodi di scorrimento dell'elemento ScrollViewer. Questi metodi consentono lo scorrimento incrementale del contenuto, per riga o per pagina, in un elemento ScrollViewer. |
| Procedura: generare l'evento ScrollChanged | In questo esempio viene illustrato come generare l'evento ScrollChanged di ScrollViewer. |
Windows Vista
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Date | Cronologia | Motivo |
|---|---|---|
Luglio 2008 | Nuovi membri aggiunti: proprietà IsDeferredScrollingEnabled, metodo GetIsDeferredScrollingEnabled, metodo SetIsDeferredScrollingEnabled, proprietà ContentVerticalOffset, proprietà ContentHorizontalOffset, campo ContentVerticalOffsetProperty, campo ContentHorizontalOffsetProperty, campo IsDeferredScrollingEnabledProperty. |
Modifica di funzionalità in SP1. |