ScrollItemPattern.ScrollIntoView Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Scrolls the content area of a container object in order to display the AutomationElement within the visible region (viewport) of the container.
public:
void ScrollIntoView();
public void ScrollIntoView ();
member this.ScrollIntoView : unit -> unit
Public Sub 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.
///--------------------------------------------------------------------
/// <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;
}
'''--------------------------------------------------------------------
''' <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 Function GetScrollItemPattern( _
ByVal targetControl As AutomationElement) As ScrollItemPattern
Dim scrollItemPattern As ScrollItemPattern = Nothing
Try
scrollItemPattern = DirectCast( _
targetControl.GetCurrentPattern( _
scrollItemPattern.Pattern), ScrollItemPattern)
Catch
' Object doesn't support the ScrollItemPattern control pattern
Return Nothing
End Try
Return scrollItemPattern
End Function 'GetScrollItemPattern
///--------------------------------------------------------------------
/// <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.
}
}
'''--------------------------------------------------------------------
''' <summary>
''' A Select, AddToSelection or RemoveFromSelection event handler that
''' scrolls a SelectionItem object into the viewable region of its
''' container control.
''' </summary>
'''--------------------------------------------------------------------
Private Sub OnSelectionItemSelect( _
ByVal src As Object, ByVal e As SelectionChangedEventArgs)
Dim selectionItem As AutomationElement = _
DirectCast(src, AutomationElement)
Dim scrollItemPattern As ScrollItemPattern = _
GetScrollItemPattern(selectionItem)
If scrollItemPattern Is Nothing Then
Return
End If
Try
scrollItemPattern.ScrollIntoView()
Catch exc As InvalidOperationException
' The item cannot be scrolled into view.
' TO DO: error handling.
End Try
End Sub
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
.NET