SelectionItemPattern.AddToSelection Metodo

Definizione

Aggiunge l'elemento corrente alla raccolta di elementi selezionati.Adds the current element to the collection of selected items.

public:
 void AddToSelection();
public void AddToSelection ();
member this.AddToSelection : unit -> unit
Public Sub AddToSelection ()

Eccezioni

Viene effettuato un tentativo per aggiungere una selezione a un contenitore di selezione singola dove CanSelectMultipleProperty = false e un altro elemento è già selezionato.An attempt is made to add a selection to a single-selection container where CanSelectMultipleProperty = false and another element is already selected.

Esempi

Nell'esempio seguente viene illustrato come aggiungere un elemento alla raccolta di elementi attualmente selezionati.The following example shows how to add an element to the collection of currently selected items.

///--------------------------------------------------------------------
/// <summary>
/// Retrieves the selection container for a selection item.
/// </summary>
/// <param name="selectionItem">
/// An automation element that supports SelectionItemPattern.
/// </param>
///--------------------------------------------------------------------
private AutomationElement GetSelectionItemContainer(
    AutomationElement selectionItem)
{
    // Selection item cannot be null
    if (selectionItem == null)
    {
        throw new ArgumentException();
    }

    SelectionItemPattern selectionItemPattern = 
        selectionItem.GetCurrentPattern(SelectionItemPattern.Pattern) 
        as SelectionItemPattern;
    if (selectionItemPattern == null)
    {
        return null;
    }
    else
    {
        return selectionItemPattern.Current.SelectionContainer; 
    }
}
'''--------------------------------------------------------------------
''' <summary>
''' Retrieves the selection container for a selection item.
''' </summary>
''' <param name="selectionItem">
''' An automation element that supports SelectionItemPattern.
''' </param>
'''--------------------------------------------------------------------
Private Function GetSelectionItemContainer( _
ByVal selectionItem As AutomationElement) As AutomationElement
    ' Selection item cannot be null
    If selectionItem Is Nothing Then
        Throw New ArgumentException()
    End If

    Dim selectionItemPattern As SelectionItemPattern = _
    DirectCast(selectionItem.GetCurrentPattern( _
    selectionItemPattern.Pattern), SelectionItemPattern)
    If selectionItemPattern Is Nothing Then
        Return Nothing
    Else
        Return selectionItemPattern.Current.SelectionContainer
    End If
End Function 'GetSelectionItemContainer
///--------------------------------------------------------------------
/// <summary>
/// Attempts to add the current item to a collection 
/// of selected items. 
/// </summary>
/// <param name="selectionItem">
/// An automation element that supports SelectionItemPattern.
/// </param>
///--------------------------------------------------------------------
private void AddItemToSelection(AutomationElement selectionItem)
{
    if (selectionItem == null)
    {
        throw new ArgumentNullException(
            "Argument cannot be null or empty.");
    }
    
    AutomationElement selectionContainer = 
        GetSelectionItemContainer(selectionItem);

    // Selection container cannot be null
    if (selectionContainer == null)
    {
        throw new ElementNotAvailableException();
    }

    SelectionPattern selectionPattern = 
        selectionContainer.GetCurrentPattern(SelectionPattern.Pattern)
        as SelectionPattern;
    
    if (selectionPattern == null)
    {
        return;
    }

    if (selectionPattern.Current.CanSelectMultiple)
    {
        SelectionItemPattern selectionItemPattern =
            selectionItem.GetCurrentPattern(
            SelectionItemPattern.Pattern)
            as SelectionItemPattern;
        if (selectionItemPattern != null)
        {
            try
            {
                selectionItemPattern.AddToSelection();
            }
            catch (InvalidOperationException)
            {
                // Unable to add to selection
                return;
            }
        }
    }
}
'''--------------------------------------------------------------------
''' <summary>
''' Attempts to add the current item to a collection 
''' of selected items. 
''' </summary>
''' <param name="selectionItem">
''' An automation element that supports SelectionItemPattern.
''' </param>
'''--------------------------------------------------------------------
Private Sub AddItemToSelection(ByVal selectionItem As AutomationElement)
    If selectionItem Is Nothing Then
        Throw New ArgumentNullException("Argument cannot be null or empty.")
    End If

    Dim selectionContainer As AutomationElement = _
    GetSelectionItemContainer(selectionItem)

    ' Selection container cannot be null
    If selectionContainer Is Nothing Then
        Throw New ElementNotAvailableException()
    End If

    Dim selectionPattern As SelectionPattern = DirectCast( _
    selectionContainer.GetCurrentPattern(selectionPattern.Pattern), _
    SelectionPattern)

    If selectionPattern Is Nothing Then
        Return
    End If

    If selectionPattern.Current.CanSelectMultiple Then
        Dim selectionItemPattern As SelectionItemPattern = DirectCast( _
        selectionItem.GetCurrentPattern(selectionItemPattern.Pattern), _
        SelectionItemPattern)

        If Not (selectionItemPattern Is Nothing) Then
            Try
                selectionItemPattern.AddToSelection()
            Catch
                ' Unable to add to selection
                Return
            End Try
        End If
    End If

End Sub

Si applica a