信息
您所需的主题如下所示。但此主题未包含在此库中。

FrameworkElement::Name 属性

获取或设置元素的标识名称。 该名称提供一个引用,以便当 XAML 处理器在处理过程中构造标记元素之后,代码隐藏(如事件处理程序代码)可以对该元素进行引用。

命名空间:  System.Windows
程序集:  PresentationFramework(在 PresentationFramework.dll 中)
XAML 的 XMLNS: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory::NeverLocalize)]
public:
virtual property String^ Name {
	String^ get () sealed;
	void set (String^ value) sealed;
}
<object Name="string" .../>

属性值

类型:System::String
元素的名称。 默认值为空字符串。

实现

IFrameworkInputElement::Name

标识符字段

NameProperty

设置为 true 的元数据属性

IsAnimationProhibited

此属性的最常见用法是将 XAML 元素名称指定为标记中的特性。

此属性实质上提供一个 WPF 框架级简便属性来设置 XAML x:Name 指令

名称在名称范围中必须是唯一的。 有关详细信息,请参阅 WPF XAML 名称范围

如果要在代码中创建元素,通常不会去获取 Name 如果您在代码中已进行了相应的引用,则可以直接在元素引用中调用方法和属性,而通常并不需要 Name 一种例外情况是 Name 字符串具有某种额外意义,例如,在 UI 中显示该名称很有用。 如果原始 Name 是在标记中设置的,则建议不要在代码隐藏中设置 Name,并且在加载 XAML 之后更改此属性不会更改原始对象引用。 仅当基础名称范围是在分析过程中显式创建的时候,才会创建该对象引用。 您必须专门调用 RegisterName 以便对已加载元素的 Name 属性进行有效的更改。

非常需要在代码中设置 Name 的典型情况是:为演示图板将要赖以运行的元素注册名称,以便可以在运行时引用这些元素。 在注册名称前,您也许还需要实例化并分配一个 NameScope 实例。 请参见“示例”部分或演示图板概述

在代码中设置 Name 的应用范围很有限,但按 Name 获取元素十分常见。 下面是一种具体情况:应用程序支持这样一种导航模型,其中,页面重新加载到应用程序中,而运行时代码未必是为该页面定义的代码隐藏。 实用工具方法 FindName 可从任意 FrameworkElement 中获得,该方法能够根据需要递归地搜索任何元素的逻辑树,从而在树中按照此元素的 Name 找到此元素。 您还可以使用 LogicalTreeHelperFindLogicalNode 静态方法,该方法也采用一个 Name 字符串作为参数。

通常使用的根元素(如 WindowPage)实现了接口 INameScope 此接口的实现需要强制该名称在其范围中明确无误。 定义此接口的根元素还为所有相关 API 定义了名称范围行为边界。

Name 属性还充当其他进程的标识符。 例如,WPF 自动化模型将使用 Name 作为客户端和提供程序的 AutomationId。

用于 Name 的字符串值具有一些限制,这些限制是由 XAML 规范所定义的基础 x:Name 指令施加的。 最值得注意的一点是,Name 必须以字母或下划线字符 (_) 开头,并且必须只包含字母、数字或下划线。 有关详细信息,请参阅 WPF XAML 名称范围

Name 是极少数无法进行动画处理的依赖项属性中的一个(在元数据中,IsAnimationProhibitedtrue),因为名称本身对于定位动画至关重要。 Name 进行数据绑定在技术上是可行的,但这是一种极为少见的方案,因为数据绑定 Name 无法为属性的以下主要预期用途做出贡献:为代码隐藏提供标识符连接点。

下面的示例在代码中设置 Name 属性,然后通过调用 RegisterName 将该名称注册到新创建的 NameScope 中。 此处演示的技术是对演示图板进行动画处理所必需的,因为演示图板要求按 Name 定位,而无法按对象引用定位。

目前没有可用的代码示例或不支持该语言。

.NET Framework

受以下版本支持:4.5、4、3.5、3.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

并不是.NET Framework 对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求.

社区附加资源

显示:
© 2015 Microsoft