Exportar (0) Imprimir
Expandir todo

ScrollViewer (Clase)

Actualización: Julio de 2008

Representa un área desplazable que puede contener otros elementos visibles.

Espacio de nombres:  System.Windows.Controls
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para 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>

ScrollViewer permite mostrar el contenido en un área menor que su tamaño real. Cuando el contenido de ScrollViewer no está completamente visible, ScrollViewer muestra barras de desplazamiento que el usuario puede usar para mover las áreas de contenido que están visibles. El área que incluye todo el contenido de ScrollViewer es la extensión. El área visible del contenido es la ventanilla.

El desplazamiento físico se utiliza para desplazar el contenido en un incremento físico predeterminado, que suele ser un valor declarado en píxeles. El desplazamiento lógico se utiliza para desplazarse al elemento siguiente en el árbol lógico. Si requiere el desplazamiento físico en lugar del desplazamiento lógico, ajuste el elemento Panel del host en ScrollViewer y establezca su propiedad CanContentScroll en false. El desplazamiento físico es el comportamiento de desplazamiento predeterminado para la mayoría de los elementos Panel.

Si ScrollViewer contiene un gran número de elementos, puede verse afectado el funcionamiento del desplazamiento. En este caso, establezca IsDeferredScrollingEnabled en true. Esto hace que la vista del contenido permanezca estática mientras se arrastra Thumb y que sólo se actualice cuando se suelta Thumb.

Como las barras de desplazamiento de un elemento ScrollViewer se definen en el estilo predeterminado del elemento, dejarán de aparecer si aplica un estilo personalizado a ScrollViewer. Las barras de desplazamiento deben definirse en el estilo personalizado para que aparezcan. Para obtener un ejemplo de cómo implementar las barras de desplazamiento en un estilo personalizado, vea Ejemplo ScrollViewer Style.

En este ejemplo se muestra cómo crear y utilizar un elemento ScrollViewer en Lenguaje de marcado de aplicaciones extensible (XAML).

En el ejemplo siguiente se crea una ventana que contiene texto y un rectángulo. Las barras de desplazamiento solamente aparecen cuando se necesitan. Al cambiar el tamaño de la ventana, las barras de desplazamiento aparecen y desaparecen.

Para obtener el ejemplo completo, vea Ejemplo 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>


Más código

Cómo: Utilizar los métodos de desplazamiento de contenido de ScrollViewerEn este ejemplo se muestra cómo utilizar los métodos de desplazamiento del elemento ScrollViewer. Estos métodos proporcionan desplazamiento incremental del contenido, ya sea por líneas o por páginas, en ScrollViewer.
Cómo: Provocar el evento ScrollChangedEn este ejemplo se muestra cómo provocar el evento ScrollChanged de un objeto ScrollViewer.

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Media.Visual
        System.Windows.UIElement
          System.Windows.FrameworkElement
            System.Windows.Controls.Control
              System.Windows.Controls.ContentControl
                System.Windows.Controls.ScrollViewer

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0

Fecha

Historial

Motivo

Julio de 2008

Se han agregado nuevos miembros: la propiedad IsDeferredScrollingEnabled, el método GetIsDeferredScrollingEnabled, el método SetIsDeferredScrollingEnabled, la propiedad ContentVerticalOffset, la propiedad ContentHorizontalOffset y los campos ContentVerticalOffsetProperty, ContentHorizontalOffsetProperty y IsDeferredScrollingEnabledProperty.

Cambio de características de SP1.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft