通过


FrameworkContentElement.Name 属性

定义

获取或设置元素的标识名称。 该名称提供实例引用,以便编程代码隐藏(如事件处理程序代码)可以在分析 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 具有有限的应用程序,但按名称查找元素更为常见,尤其是在使用导航模型时,页面会重新加载到应用程序中,并且运行时代码不一定是相应页面的代码隐藏。 实用工具方法 FindName可从任何 FrameworkContentElement元素以递归方式在该元素的逻辑树中找到任何元素 Name 。 或者, FindLogicalNode 可以使用静态方法 LogicalTreeHelper,该方法还将 Name 字符串作为参数。

常用的根元素(WindowPage例如)实现接口INameScope。 此接口的实现应在其范围内强制实施该名称的明确性。

Dependency 属性信息

物品 价值
标识符字段 NameProperty
元数据属性设置为 true IsAnimationProhibited

适用于

另请参阅