SelectionItemPattern.RemoveFromSelection Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Удаляет текущий элемент из коллекции выбранных элементов.
public:
void RemoveFromSelection();
public void RemoveFromSelection ();
member this.RemoveFromSelection : unit -> unit
Public Sub RemoveFromSelection ()
Исключения
Попытка удалить выделение из контейнера выделения, где выделен один элемент и IsSelectionRequiredProperty = true
.
Примеры
В следующем примере показано, как удалить элемент из коллекции выбранных в данный момент элементов.
///--------------------------------------------------------------------
/// <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 remove the current item from a collection
/// of selected items.
/// </summary>
/// <param name="selectionItem">
/// An automation element that supports SelectionItemPattern.
/// </param>
///--------------------------------------------------------------------
private void RemoveItemFromSelection(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;
}
// Check if a selection is required
if (selectionPattern.Current.IsSelectionRequired &&
(selectionPattern.Current.GetSelection().GetLength(0) <= 1))
{
return;
}
SelectionItemPattern selectionItemPattern =
selectionItem.GetCurrentPattern(
SelectionItemPattern.Pattern)
as SelectionItemPattern;
if ((selectionItemPattern != null) &&
selectionItemPattern.Current.IsSelected)
{
try
{
selectionItemPattern.RemoveFromSelection();
}
catch (InvalidOperationException)
{
// Unable to remove from selection
return;
}
}
}
'''--------------------------------------------------------------------
''' <summary>
''' Attempts to remove the current item from a collection
''' of selected items.
''' </summary>
''' <param name="selectionItem">
''' An automation element that supports SelectionItemPattern.
''' </param>
'''--------------------------------------------------------------------
Private Sub RemoveItemFromSelection( _
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
' Check if a selection is required
If selectionPattern.Current.IsSelectionRequired AndAlso _
selectionPattern.Current.GetSelection().GetLength(0) <= 1 Then
Return
End If
Dim selectionItemPattern As SelectionItemPattern = DirectCast( _
selectionItem.GetCurrentPattern(selectionItemPattern.Pattern), _
SelectionItemPattern)
If Not (selectionItemPattern Is Nothing) AndAlso selectionItemPattern.Current.IsSelected Then
Try
selectionItemPattern.RemoveFromSelection()
Catch
' Unable to remove from selection
Return
End Try
End If
End Sub
Применяется к
GitHub сайтында бізбен бірлесіп жұмыс істеу
Бұл мазмұнның көзін GitHub сайтында табуға болады. Онда сонымен бірге мәселелер мен өзгертулерді енгізу сұрауларын жасауға және қарап шығуға болады. Қосымша ақпарат алу үшін қатысушы нұсқаулығын қараңыз.