ScrollPattern.ScrollPatternInformation.VerticallyScrollable プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
UI オートメーション要素を垂直方向にスクロールできるかどうかを示す値を取得します。
public:
property bool VerticallyScrollable { bool get(); };
public bool VerticallyScrollable { get; }
member this.VerticallyScrollable : bool
Public ReadOnly Property VerticallyScrollable As Boolean
プロパティ値
UI オートメーション要素が水平方向にスクロールできる場合は、true
。それ以外の場合は、false
。 既定値は false
です。
例
次の例では、ScrollPatternコントロール パターンが UI オートメーション 要素から取得され、要求された量の要素を垂直方向にスクロールするために使用されます。
///--------------------------------------------------------------------
/// <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
注釈
このプロパティは動的にすることができます。 たとえば、UI オートメーション要素のコンテンツ領域は、現在の表示可能領域よりも大きくなっていない可能性があります。つまりVerticallyScrollable、 ですfalse
。 ただし、UI オートメーション要素のサイズを変更したり、子項目を追加したりすると、表示可能な領域を超えてコンテンツ領域の境界が増加し、 が true
であることをVerticallyScrollable示す可能性があります。
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET