SelectionItemPattern.AddToSelection Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Lägger till det aktuella elementet i samlingen med markerade objekt.
public:
void AddToSelection();
public void AddToSelection();
member this.AddToSelection : unit -> unit
Public Sub AddToSelection ()
Undantag
Ett försök görs att lägga till en markering i en container med en enda markering där CanSelectMultipleProperty = false och ett annat element redan är markerat.
Exempel
I följande exempel visas hur du lägger till ett element i samlingen med markerade objekt.
///--------------------------------------------------------------------
/// <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