Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

SelectionItemPattern.AddToSelection Method

Definition

Namespace:
System.Windows.Automation
Assembly:
UIAutomationClient.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Adds the current element to the collection of selected items.

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

Exceptions

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

Examples

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

Applies to


Feedback

Was this page helpful?