LogicalTreeHelper.FindLogicalNode(DependencyObject, String) 方法

定义

尝试查找并返回具有指定名称的对象。 搜索从指定对象开始,并持续到逻辑树的子节点中。

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

参数

logicalTreeNode
DependencyObject

从其开始搜索的对象。 此对象必须是 FrameworkElementFrameworkContentElement

elementName
String

要查找的对象的名称。

返回

DependencyObject

如果找到一个,则为具有匹配名称的元素;如果没有在逻辑树中找到匹配名称,则返回 null

注解

方法和FrameworkContentElement.FindNameFrameworkElement.FindName方法与表面相似FindLogicalNode,但按不同的逻辑操作:

  • 搜索方向 FindLogicalNode 是指向树) 下 (子对象;方法的搜索方向 FindName 是指向 (树) 的父对象。

  • 这些 FindName 方法受 XAML 名称范围的概念的约束。 使用 FindName 可确保只有该名称的一个对象存在,因为 XAML 名称范围强制实施唯一性。 相比之下, FindLogicalNode 忽略 XAML 名称范围,并在搜索过程中可能跨越 XAML 名称范围边界。 因此,一旦越过边界, elementName 就不能保证名称的唯一性。 有关 XAML 名称范围的详细信息,请参阅 WPF XAML 名称范围

适用于