ScrollPattern.ScrollPatternInformation.VerticallyScrollable Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Načte hodnotu, která označuje, zda se prvek model UI Automation může posunout svisle.
public:
property bool VerticallyScrollable { bool get(); };
public bool VerticallyScrollable { get; }
member this.VerticallyScrollable : bool
Public ReadOnly Property VerticallyScrollable As Boolean
Hodnota vlastnosti
true
pokud model UI Automation prvek může posunout vodorovně; jinak false
. Výchozí hodnota je false
.
Příklady
V následujícím příkladu ScrollPattern se řídicí vzor získá z model UI Automation elementu a pak se použije k vertikálnímu posouvání prvku požadované částky.
///--------------------------------------------------------------------
/// <summary>
/// Obtains a ScrollPattern control pattern from an
/// automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A ScrollPattern object.
/// </returns>
///--------------------------------------------------------------------
private ScrollPattern GetScrollPattern(
AutomationElement targetControl)
{
ScrollPattern scrollPattern = null;
try
{
scrollPattern =
targetControl.GetCurrentPattern(
ScrollPattern.Pattern)
as ScrollPattern;
}
// Object doesn't support the ScrollPattern control pattern
catch (InvalidOperationException)
{
return null;
}
return scrollPattern;
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a ScrollPattern control pattern from an
''' automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A ScrollPattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetScrollPattern( _
ByVal targetControl As AutomationElement) As ScrollPattern
Dim scrollPattern As ScrollPattern = Nothing
Try
scrollPattern = DirectCast( _
targetControl.GetCurrentPattern(scrollPattern.Pattern), _
ScrollPattern)
Catch
' Object doesn't support the ScrollPattern control pattern
Return Nothing
End Try
Return scrollPattern
End Function 'GetScrollPattern
///--------------------------------------------------------------------
/// <summary>
/// Obtains a ScrollPattern control pattern from an automation
/// element and attempts to horizontally scroll the requested amount.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <param name="vScrollAmount">
/// The requested vertical scroll amount.
/// </param>
///--------------------------------------------------------------------
private void ScrollElementVertically(
AutomationElement targetControl,
ScrollAmount vScrollAmount)
{
if (targetControl == null)
{
throw new ArgumentNullException(
"AutomationElement argument cannot be null.");
}
ScrollPattern scrollPattern = GetScrollPattern(targetControl);
if (scrollPattern == null)
{
return;
}
if (!scrollPattern.Current.VerticallyScrollable)
{
return;
}
try
{
scrollPattern.ScrollVertical(vScrollAmount);
}
catch (InvalidOperationException)
{
// Control not able to scroll in the direction requested;
// when scrollable property of that direction is False
// TO DO: error handling.
}
catch (ArgumentException)
{
// If a control supports SmallIncrement values exclusively
// for horizontal or vertical scrolling but a LargeIncrement
// value (NaN if not supported) is passed in.
// TO DO: error handling.
}
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a ScrollPattern control pattern from an automation
''' element and attempts to horizontally scroll the requested amount.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <param name="vScrollAmount">
''' The requested vertical scroll amount.
''' </param>
'''--------------------------------------------------------------------
Private Sub ScrollElementVertically( _
ByVal targetControl As AutomationElement, _
ByVal vScrollAmount As ScrollAmount)
If targetControl Is Nothing Then
Throw New ArgumentNullException( _
"AutomationElement argument cannot be null.")
End If
Dim scrollPattern As ScrollPattern = GetScrollPattern(targetControl)
If scrollPattern Is Nothing Then
Return
End If
If Not scrollPattern.Current.VerticallyScrollable Then
Return
End If
Try
scrollPattern.ScrollVertical(vScrollAmount)
Catch exc As InvalidOperationException
' Control not able to scroll in the direction requested;
' when scrollable property of that direction is False
' TO DO: error handling.
Catch exc As ArgumentException
' If a control supports SmallIncrement values exclusively
' for horizontal or vertical scrolling but a LargeIncrement
' value (NaN if not supported) is passed in.
' TO DO: error handling.
End Try
End Sub
Poznámky
Tato vlastnost může být dynamická. Například oblast obsahu prvku model UI Automation nemusí být větší než aktuální zobrazitelná oblast, což znamená VerticallyScrollable false
. Změna velikosti prvku model UI Automation nebo přidání podřízených položek však může zvětšit hranice oblasti obsahu nad zobrazitelnou oblast, což znamená VerticallyScrollable true
.