SelectionItemPattern.AddToSelection Method ()

 

Adds the current element to the collection of selected items.

Namespace:   System.Windows.Automation
Assembly:  UIAutomationClient (in UIAutomationClient.dll)

public void AddToSelection()

Exception Condition
InvalidOperationException

An attempt is made to add a selection to a single-selection container where CanSelectMultipleProperty = false and another element is already selected.

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>
/// 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;
            }
        }
    }
}

.NET Framework
Available since 3.0
Return to top
Show: