FrameworkContentElement.Name 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置元素的标识名称。 该名称提供实例引用,以便在分析 XAML 期间构造元素后,编程代码隐藏(如事件处理程序代码)可以引用该元素。
public:
property System::String ^ Name { System::String ^ get(); void set(System::String ^ value); };
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
public string Name { get; set; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
member this.Name : string with get, set
Public Property Name As String
属性值
元素的名称。
实现
- 属性
注解
此属性的最常见用法是在标记中指定 XAML 元素名称时。
此属性实质上提供了 WPF 框架级别的便利属性来设置 XAML x:Name 指令。
Name从代码获取 并不常见,因为如果代码中已有相应的引用,则只需调用元素引用的方法和属性,通常不需要 Name。 一个例外是,如果字符串具有某种重载的含义,例如,在 UI 中显示该名称很有用。 Name如果原始Name项是从标记设置的,则不建议从代码中设置 ,并且更改 属性不会更改对象引用。 仅当在 XAML 加载期间显式创建基础名称范围时,才会创建此类对象引用。
必须专门调用 RegisterName 才能对 Name 已加载元素的 属性进行有效更改。
从代码设置 Name 很重要的一个值得注意的情况是命名情节提要运行的元素。 在注册名称之前,可能还需要实例化和分配 NameScope 实例。 请参阅示例部分或 情节提要概述。
从代码设置 Name 的应用程序有限,但按名称查找元素更为常见,尤其是在采用导航模型的情况下,其中页面重新加载到应用程序中,而运行时代码不一定是相应页面的代码隐藏。 可从任何 FrameworkContentElement获取的实用工具方法FindName可以通过递归方式在该元素Name的逻辑树中查找任何元素。 或者,可以使用 的FindLogicalNodeLogicalTreeHelper静态 方法,该方法也采用Name字符串作为参数。
常用根元素 (Window, Page 例如,) 实现接口 INameScope。 此接口的实现应强制要求名称在其范围内明确。
依赖项属性信息
标识符字段 | NameProperty |
元数据属性设置为 true |
IsAnimationProhibited |