FrameworkContentElement.Name Property

Definition

Obtient ou définit le nom d’identification de l’élément.Gets or sets the identifying name of the element. Le nom fournit une référence d’instance pour permettre à du code-behind programmatique, tel que le code d’un gestionnaire d’événements, de faire référence à un élément une fois qu’il est construit pendant l’analyse 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

Nom de l'élément.The name of the element.

Implements

Attributes

Remarks

L’utilisation la plus courante de cette propriété est la spécification d’un nom d’élément XAMLXAML dans le balisage.The most common usage of this property is when specifying a XAMLXAML element name in markup.

Cette propriété fournit essentiellement une propriété de commodité au niveau de l’infrastructure WPF pour définir la XAMLXAML directive x :Name.This property essentially provides a WPF framework-level convenience property to set the XAMLXAML x:Name Directive.

L’obtention d’une Name à partir du code n’est pas courante, car si vous disposez déjà de la référence appropriée dans le code, vous pouvez simplement appeler des méthodes et des propriétés sur la référence de l’élément et vous n’avez généralement pas besoin de l' 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. Une exception est si la chaîne a une signification surchargée, par exemple s’il est utile d’afficher ce nom dans Interface utilisateurUI.An exception is if the string has some overloaded meaning, for instance if it is useful to display that name in Interface utilisateurUI. La définition d’une Name à partir du code si le Name d’origine a été défini à partir du balisage n’est pas non plus recommandé, et la modification de la propriété ne modifiera pas la référence d’objet.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. Ces références d’objet sont créées uniquement lorsque les portées de port sous-jacentes sont créées explicitement lors du chargement de XAMLXAML.Such object references are created only when the underlying namescopes are explicitly created during XAMLXAML loading.

Vous devez appeler spécifiquement RegisterName pour apporter une modification effective sur la propriété Name d’un élément déjà chargé.You must specifically call RegisterName to make an effective change on the Name property of an already loaded element.

La définition d' Name à partir du code est un cas important pour nommer les éléments sur lesquels les storyboards s’exécuteront.One notable case where setting Name from code is important is for naming elements that storyboards will run against. Avant de pouvoir inscrire un nom, vous devrez peut-être également instancier et assigner une instance de NameScope.Before you can register a name, might also need to instantiate and assign a NameScope instance. Consultez la section exemple ou vue d’ensemble des storyboards.See the Example section, or Storyboards Overview.

La définition de Name à partir du code a des applications limitées, mais la recherche d’un élément par nom est plus courante, en particulier si vous utilisez un modèle de navigation où les pages se rechargent dans l’application et que le code d’exécution n’est pas nécessairement le code-behind de cette page respective.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. La méthode utilitaire FindName, qui est disponible à partir de n’importe quel FrameworkContentElement, peut trouver n’importe quel élément en Name dans l’arborescence logique de cet élément de manière récursive.The utility method FindName, which is available from any FrameworkContentElement, can find any element by Name in that element's logical tree recursively. Vous pouvez également utiliser la méthode statique FindLogicalNode de LogicalTreeHelper, qui prend également la chaîne Name comme argument.Or you can use the FindLogicalNode static method of LogicalTreeHelper, which also takes the Name string as an argument.

Les éléments racines couramment utilisés (Window, Page par exemple) implémentent l’interface INameScope.Commonly used root elements (Window, Page for example) implement the interface INameScope. Les implémentations de cette interface sont supposées imposer que les noms ne soient pas ambigus dans leur portée.Implementations of this interface are expected to enforce that names be unambiguous within their scope.

Informations sur les propriétés de dépendanceDependency Property Information

Champ d’identificateurIdentifier field NameProperty
Propriétés de métadonnées définies sur trueMetadata properties set to true IsAnimationProhibited

Applies to

See also