Поделиться через


SelectionPattern.SelectionPatternInformation.IsSelectionRequired Свойство

Определение

Возвращает значение, указывающее, требует ли контейнер выбора по меньшей мере одного дочернего элемента.

public:
 property bool IsSelectionRequired { bool get(); };
public bool IsSelectionRequired { get; }
member this.IsSelectionRequired : bool
Public ReadOnly Property IsSelectionRequired As Boolean

Значение свойства

Значение true, если элемент управления требует выбора по меньшей мере одного элемента; в противном случае — значение false.

Примеры

В следующем примере SelectionPattern шаблон элемента управления получается из и впоследствии используется для получения значений AutomationElement свойств.

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

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

    return selectionPattern;
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a SelectionPattern control pattern from an 
''' automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A SelectionPattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetSelectionPattern( _
ByVal targetControl As AutomationElement) As SelectionPattern
    Dim selectionPattern As SelectionPattern = Nothing

    Try
        selectionPattern = DirectCast( _
        targetControl.GetCurrentPattern(selectionPattern.Pattern), _
        SelectionPattern)
    ' Object doesn't support the SelectionPattern control pattern
    Catch
        Return Nothing
    End Try

    Return selectionPattern
End Function 'GetSelectionPattern
///--------------------------------------------------------------------
/// <summary>
/// Gets the current property values from target.
/// </summary>
/// <param name="selectionPattern">
/// A SelectionPattern control pattern obtained from 
/// an automation element representing the selection control.
/// </param>
/// <param name="automationProperty">
/// The automation property of interest.
/// </param>
///--------------------------------------------------------------------
private bool GetSelectionObjectProperty(
    SelectionPattern selectionPattern,
    AutomationProperty automationProperty)
{
    if (automationProperty.Id == 
        SelectionPattern.CanSelectMultipleProperty.Id)
    {
        return selectionPattern.Current.CanSelectMultiple;
    }
    if (automationProperty.Id == 
        SelectionPattern.IsSelectionRequiredProperty.Id)
    {
        return selectionPattern.Current.IsSelectionRequired;
    }
    return false;
}
'''--------------------------------------------------------------------
''' <summary>
''' Gets the current property values from target.
''' </summary>
''' <param name="selectionPattern">
''' A SelectionPattern control pattern obtained from 
''' an automation element representing the selection control.
''' </param>
''' <param name="automationProperty">
''' The automation property of interest.
''' </param>
'''--------------------------------------------------------------------
Private Function GetSelectionObjectProperty( _
ByVal selectionPattern As SelectionPattern, _
ByVal automationProperty As AutomationProperty) As Boolean
    If automationProperty.Id = _
    selectionPattern.CanSelectMultipleProperty.Id Then
        Return selectionPattern.Current.CanSelectMultiple
    End If
    If automationProperty.Id = _
    selectionPattern.IsSelectionRequiredProperty.Id Then
        Return selectionPattern.Current.IsSelectionRequired
    End If
    Return False
End Function 'GetSelectionObjectProperty

Комментарии

Это свойство может быть динамическим. Например, начальное состояние элемента управления может не иметь элементов, выбранных по умолчанию, указывая, что IsSelectionRequired имеет значение false. Однако после выбора элемента элемент управления всегда должен иметь хотя бы один выбранный элемент.

Применяется к