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 具有有限的应用程序,但按名称查找元素更为常见,尤其是在使用导航模型时,页面会重新加载到应用程序中,并且运行时代码不一定是相应页面的代码隐藏。 实用工具方法 FindName可从任何 FrameworkContentElement元素以递归方式在该元素的逻辑树中找到任何元素 Name 。 或者, FindLogicalNode 可以使用静态方法 LogicalTreeHelper,该方法还将 Name 字符串作为参数。
常用的根元素(WindowPage例如)实现接口INameScope。 此接口的实现应在其范围内强制实施该名称的明确性。
Dependency 属性信息
| 物品 | 价值 |
|---|---|
| 标识符字段 | NameProperty |
元数据属性设置为 true |
IsAnimationProhibited |