IRawElementProviderFragment.Navigate(NavigateDirection) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Recupera l'elemento Automazione interfaccia utente in una direzione specificata all'interno dell'albero.
public:
System::Windows::Automation::Provider::IRawElementProviderFragment ^ Navigate(System::Windows::Automation::Provider::NavigateDirection direction);
public System.Windows.Automation.Provider.IRawElementProviderFragment Navigate (System.Windows.Automation.Provider.NavigateDirection direction);
abstract member Navigate : System.Windows.Automation.Provider.NavigateDirection -> System.Windows.Automation.Provider.IRawElementProviderFragment
Public Function Navigate (direction As NavigateDirection) As IRawElementProviderFragment
Parametri
- direction
- NavigateDirection
Direzione di navigazione.
Restituisce
Elemento nella direzione specificata o null
se non è presente alcun elemento in tale direzione.
Esempio
Nel codice di esempio seguente viene illustrata l'implementazione di da una radice di Navigate frammento con un singolo elemento figlio. Poiché l'elemento di implementazione è una radice di frammento, non consente la navigazione a un elemento padre o a elementi di pari livello.
IRawElementProviderFragment IRawElementProviderFragment.Navigate(NavigateDirection direction)
{
if ((direction == NavigateDirection.FirstChild)
|| (direction == NavigateDirection.LastChild))
{
// Return the provider that is the sole child of this one.
return (IRawElementProviderFragment)ChildControl;
}
else
{
return null;
};
}
Function Navigate(ByVal direction As NavigateDirection) As IRawElementProviderFragment _
Implements IRawElementProviderFragment.Navigate
If direction = NavigateDirection.FirstChild _
OrElse direction = NavigateDirection.LastChild Then
' Return the provider that is the sole child of this one.
Return CType(ChildControl, IRawElementProviderFragment)
Else
Return Nothing
End If
End Function 'IRawElementProviderFragment.Navigate
Nell'esempio seguente viene illustrata un'implementazione di un frammento che rappresenta un singolo elemento all'interno di una casella di riepilogo. In questo caso, l'elemento consente di spostarsi al padre e agli elementi di pari livello, ma non ad alcun elemento figlio.
/// <summary>
/// Navigate to adjacent elements in the automation tree.
/// </summary>
/// <param name="direction">Direction to navigate.</param>
/// <returns>The element in that direction, or null.</returns>
/// <remarks>
/// parentControl is the provider for the list box.
/// parentItems is the collection of list item providers.
/// </remarks>
public IRawElementProviderFragment Navigate(NavigateDirection direction)
{
int myIndex = parentItems.IndexOf(this);
if (direction == NavigateDirection.Parent)
{
return (IRawElementProviderFragment)parentControl;
}
else if (direction == NavigateDirection.NextSibling)
{
if (myIndex < parentItems.Count - 1)
{
return (IRawElementProviderFragment)parentItems[myIndex + 1];
}
else
{
return null;
}
}
else if (direction == NavigateDirection.PreviousSibling)
{
if (myIndex > 0)
{
return (IRawElementProviderFragment)parentItems[myIndex - 1];
}
else
{
return null;
}
}
else
{
return null;
}
}
''' <summary>
''' Navigate to adjacent elements in the automation tree.
''' </summary>
''' <param name="direction">Direction to navigate.</param>
''' <returns>The element in that direction, or null.</returns>
''' <remarks>
''' parentControl is the provider for the list box.
''' parentItems is the collection of list item providers.
''' </remarks>
Public Function Navigate(ByVal direction As NavigateDirection) As IRawElementProviderFragment _
Implements IRawElementProviderFragment.Navigate
Dim myIndex As Integer = parentItems.IndexOf(Me)
If direction = NavigateDirection.Parent Then
Return DirectCast(parentControl, IRawElementProviderFragment)
ElseIf direction = NavigateDirection.NextSibling Then
If myIndex < parentItems.Count - 1 Then
Return DirectCast(parentItems((myIndex + 1)), IRawElementProviderFragment)
Else
Return Nothing
End If
ElseIf direction = NavigateDirection.PreviousSibling Then
If myIndex > 0 Then
Return DirectCast(parentItems((myIndex - 1)), IRawElementProviderFragment)
Else
Return Nothing
End If
Else
Return Nothing
End If
End Function 'Navigate
Commenti
Le implementazioni del server Automazione interfaccia utente di questo metodo definiscono la struttura dell'albero degli elementi Automazione interfaccia utente.
Lo spostamento deve essere supportato verso l'alto verso l'alto, verso il basso verso il primo e l'ultimo figlio e successivamente verso i fratelli successivi e precedenti, come applicabile.
Ogni nodo figlio ha un solo elemento padre e deve essere inserito nella catena di elementi di pari livello raggiunti dall'elemento padre da FirstChild e LastChild.
Le relazioni tra elementi di pari livello devono essere identiche in entrambe le direzioni: se A è PreviousSiblingB, B è NextSibling. Un FirstChild oggetto non PreviousSiblingha e non NextSiblingha alcun oggetto LastChild .
Le radici del frammento non consentono la navigazione a un elemento padre o a elementi di pari livello; la navigazione tra le radici del frammento viene gestita dai provider di finestre predefiniti. Gli elementi nei frammenti devono passare solo ad altri elementi all'interno di tale frammento.