Compartir a través de


LogicalTreeHelper.FindLogicalNode(DependencyObject, String) Método

Definición

Intenta buscar y devolver el objeto con el nombre especificado. La búsqueda se inicia a partir del objeto especificado y continúa en los subnodos del árbol lógico.

public:
 static System::Windows::DependencyObject ^ FindLogicalNode(System::Windows::DependencyObject ^ logicalTreeNode, System::String ^ elementName);
public static System.Windows.DependencyObject FindLogicalNode (System.Windows.DependencyObject logicalTreeNode, string elementName);
static member FindLogicalNode : System.Windows.DependencyObject * string -> System.Windows.DependencyObject
Public Shared Function FindLogicalNode (logicalTreeNode As DependencyObject, elementName As String) As DependencyObject

Parámetros

logicalTreeNode
DependencyObject

Objeto a partir del cual se va a iniciar la búsqueda. Este objeto debe ser un objeto FrameworkElement o FrameworkContentElement.

elementName
String

Nombre del objeto que se va a buscar.

Devoluciones

DependencyObject

Objeto con el nombre especificado, si se encuentra uno; devuelve null si no se encuentra ningún objeto con el nombre especificado en el árbol lógico.

Comentarios

Los métodos FrameworkContentElement.FindName y FrameworkElement.FindName son superficialmente similares a FindLogicalNode, pero funcionan mediante una lógica diferente:

  • La dirección de búsqueda de FindLogicalNode es hacia los objetos secundarios (hacia abajo en el árbol); la dirección de búsqueda de los FindName métodos es hacia los objetos primarios (hacia arriba del árbol).

  • Los FindName métodos se rigen por el concepto de ámbito de nombres XAML. Con FindName el uso de se garantiza que solo existe un objeto de ese nombre, ya que los ámbitos de nombres XAML aplican unicidad. En cambio, FindLogicalNode omite el ámbito de nombres XAML y podría cruzar los límites del ámbito de nombres XAML durante la búsqueda. Por lo tanto, no hay ninguna garantía de unicidad del elementName nombre una vez que se cruzan los límites. Para obtener más información sobre los ámbitos de nombres XAML, consulta Ámbitos de nombres XAML de WPF.

Se aplica a