ScrollItemPattern.ScrollIntoView Method

Definition

Scrolls the content area of a container object in order to display the AutomationElement within the visible region (viewport) of the container.

C#
public void ScrollIntoView();

Exceptions

The item could not be scrolled into view.

Examples

In the following example, a Select, AddToSelection or RemoveFromSelection event handler has been declared that attempts to scroll a SelectionItemPattern object into the viewable region of its container control.

C#
///--------------------------------------------------------------------
/// <summary>
/// Obtains a ScrollItemPattern control pattern from an 
/// automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A ScrollItemPattern object.
/// </returns>
///--------------------------------------------------------------------
private ScrollItemPattern GetScrollItemPattern(
    AutomationElement targetControl)
{
    ScrollItemPattern scrollItemPattern = null;

    try
    {
        scrollItemPattern =
            targetControl.GetCurrentPattern(
            ScrollItemPattern.Pattern)
            as ScrollItemPattern;
    }
    // Object doesn't support the ScrollItemPattern control pattern
    catch (InvalidOperationException)
    {
        return null;
    }

    return scrollItemPattern;
}
C#
///--------------------------------------------------------------------
/// <summary>
/// A Select, AddToSelection or RemoveFromSelection event handler that 
/// scrolls a SelectionItem object into the viewable region of its 
/// container control.
/// </summary>
///--------------------------------------------------------------------
private void OnSelectionItemSelect(
    object src, SelectionChangedEventArgs e)
{
    AutomationElement selectionItem = src as AutomationElement;

    ScrollItemPattern scrollItemPattern = GetScrollItemPattern(selectionItem);

    if (scrollItemPattern == null)
    {
        return;
    }

    try
    {
        scrollItemPattern.ScrollIntoView();
    }
    catch (InvalidOperationException)
    {
        // The item cannot be scrolled into view.
        // TO DO: error handling.
    }
}

Remarks

This method does not provide the ability to specify the position of the AutomationElement within the visible region (viewport) of the container.

Applies to

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10