ScrollPattern.ScrollPatternInformation.HorizontallyScrollable プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
UI オートメーション要素を水平方向にスクロールできるかどうかを示す値を取得します。
public:
property bool HorizontallyScrollable { bool get(); };
public bool HorizontallyScrollable { get; }
member this.HorizontallyScrollable : bool
Public ReadOnly Property HorizontallyScrollable 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="hScrollAmount">
/// The requested horizontal scroll amount.
/// </param>
///--------------------------------------------------------------------
private void ScrollElementHorizontally(
AutomationElement targetControl,
ScrollAmount hScrollAmount)
{
if (targetControl == null)
{
throw new ArgumentNullException(
"AutomationElement argument cannot be null.");
}
ScrollPattern scrollPattern = GetScrollPattern(targetControl);
if (scrollPattern == null)
{
return;
}
if (!scrollPattern.Current.HorizontallyScrollable)
{
return;
}
try
{
scrollPattern.ScrollHorizontal(hScrollAmount);
}
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="hScrollAmount">
''' The requested horizontal scroll amount.
''' </param>
'''--------------------------------------------------------------------
Private Sub ScrollElementHorizontally( _
ByVal targetControl As AutomationElement, _
ByVal hScrollAmount 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.HorizontallyScrollable Then
Return
End If
Try
scrollPattern.ScrollHorizontal(hScrollAmount)
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 オートメーション要素のコンテンツ領域が現在の表示可能領域より大きくなっていない可能性があります。意味HorizontallyScrollableはfalse
次のとおりです。 ただし、UI オートメーション要素のサイズを変更したり、子項目を追加したりすると、表示可能領域を超えてコンテンツ領域の境界が大きくなる可能性があります。これはHorizontallyScrollabletrue
、