FrameworkContentElement.Name Property

Definition

Obtiene o establece el nombre de identificación del elemento.Gets or sets the identifying name of the element. El nombre proporciona una referencia de instancia para que el código subyacente de programación, como el código del controlador de eventos, puede hacer referencia a un elemento una vez construido durante el análisis de XAMLXAML.The name provides an instance reference so that programmatic code-behind, such as event handler code, can refer to an element once it is constructed during parsing of XAMLXAML.

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; }
member this.Name : string with get, set
Public Property Name As String

Property Value

String

Nombre del elemento.The name of the element.

Implements

Attributes

Remarks

El uso más común de esta propiedad es cuando se especifica un nombre de elemento de XAMLXAML en el marcado.The most common usage of this property is when specifying a XAMLXAML element name in markup.

Esta propiedad proporciona esencialmente una propiedad de conveniencia en el nivel de marco de WPF para establecer la Directiva de XAMLXAML x:Name.This property essentially provides a WPF framework-level convenience property to set the XAMLXAML x:Name Directive.

No es habitual obtener un Name del código, porque si ya tiene la referencia adecuada en el código, puede llamar a métodos y propiedades en la referencia del elemento y no suele necesitar el Name.Getting a Name from code is not common, because if you have the appropriate reference in code already, you can just call methods and properties on the element reference and do not generally need the Name. Una excepción es si la cadena tiene algún significado sobrecargado; por ejemplo, si resulta útil mostrar ese nombre en IUUI.An exception is if the string has some overloaded meaning, for instance if it is useful to display that name in IUUI. No se recomienda establecer un Name desde el código si no se ha establecido el Name original desde el marcado, y el cambio de la propiedad no cambiará la referencia del objeto.Setting a Name from code if the original Name was set from markup is also not recommended, and changing the property will not change the object reference. Estas referencias a objetos se crean solo cuando los ámbitos de la subyacente se crean explícitamente durante la carga XAMLXAML.Such object references are created only when the underlying namescopes are explicitly created during XAMLXAML loading.

Debe llamar específicamente a RegisterName para hacer un cambio efectivo en la propiedad Name de un elemento ya cargado.You must specifically call RegisterName to make an effective change on the Name property of an already loaded element.

Un caso notable en el que el establecimiento de Name desde el código es importante es para asignar nombres a los elementos en los que se ejecutarán los guiones gráficos.One notable case where setting Name from code is important is for naming elements that storyboards will run against. Para poder registrar un nombre, es posible que también tenga que crear una instancia de NameScope.Before you can register a name, might also need to instantiate and assign a NameScope instance. Vea la sección de ejemplo o la información general sobre los guiones gráficos.See the Example section, or Storyboards Overview.

La configuración de Name desde el código tiene aplicaciones limitadas, pero la búsqueda de un elemento por nombre es más común, especialmente si se emplea un modelo de navegación donde las páginas se recargan en la aplicación y el código en tiempo de ejecución no es necesariamente el código subyacente de la página correspondiente.Setting Name from code has limited applications, but looking up an element by name is more common, particularly if you are employing a navigation model where pages reload into the application and the run-time code is not necessarily the code-behind of that respective page. El método de utilidad FindName, que está disponible en cualquier FrameworkContentElement, puede encontrar cualquier elemento Name en el árbol lógico del elemento de forma recursiva.The utility method FindName, which is available from any FrameworkContentElement, can find any element by Name in that element's logical tree recursively. O bien, puede usar el método estático FindLogicalNode de LogicalTreeHelper, que también toma la cadena Name como argumento.Or you can use the FindLogicalNode static method of LogicalTreeHelper, which also takes the Name string as an argument.

Los elementos raíz utilizados habitualmente (Window, Page por ejemplo) implementan la interfaz INameScope.Commonly used root elements (Window, Page for example) implement the interface INameScope. Se espera que las implementaciones de esta interfaz exijan que los nombres no sean ambiguos dentro de su ámbito.Implementations of this interface are expected to enforce that names be unambiguous within their scope.

Información sobre propiedades de dependenciaDependency Property Information

Campo de identificadorIdentifier field NameProperty
Propiedades de metadatos establecidas en trueMetadata properties set to true IsAnimationProhibited

Applies to

See also