Binding.ElementName Propriété

Définition

Obtient ou définit le nom de l’élément à utiliser comme source de liaison pour la liaison.

public:
 property Platform::String ^ ElementName { Platform::String ^ get(); void set(Platform::String ^ value); };
winrt::hstring ElementName();

void ElementName(winrt::hstring value);
public string ElementName { get; set; }
var string = binding.elementName;
binding.elementName = string;
Public Property ElementName As String
<Binding ElementName="nameString"/>

Valeur de propriété

String

Platform::String

winrt::hstring

Valeur de la propriété Name ou de l’attribut x:Name pour l’élément que vous souhaitez utiliser comme source de liaison. La valeur par défaut est une chaîne vide.

Exemples

L’exemple de code suivant montre comment établir une liaison bidirectionnelle entre un contrôle TextBox et un contrôle Slider . Pour obtenir la liste complète du code, consultez le scénario 1 dans l’exemple de liaison de données XAML.

<Slider x:Name="slider1" Minimum="1" Maximum="100"/>
<TextBox Text="{Binding ElementName=slider1, Path=Value, Mode=TwoWay}"/>

Remarques

Lorsque vous définissez cette propriété, la valeur spécifiée doit faire référence à un élément dans l’un des emplacements suivants :

  • Étendue de nom XAML actuelle.
  • Étendue de nom XAML du parent avec modèle si la cible de liaison se trouve dans un modèle de données ou un modèle de contrôle. En raison de cette restriction, vous ne pouvez pas utiliser la propriété ElementName pour lier des éléments qui ne sont pas créés à l’aide de XAML. Pour lier des éléments créés par programmation, utilisez plutôt la propriété Source . Source, RelativeSource et ElementName s’excluent mutuellement dans une liaison. Si vous avez défini l’un de ces attributs, la définition de l’un des deux autres dans une liaison (via XAML ou par le biais du code) entraîne une exception.

Les liaisons qui utilisent une valeur ElementName incluent presque toujours un chemin d’accès simple qui nomme une propriété qui existe sur l’objet référencé. Il est courant que la propriété source de l’élément nommé et la propriété de destination sur la cible ont le même nom et utilisent le même type de valeur. Il s’agit d’un scénario que vous voyez assez souvent dans les définitions de modèle de contrôle que les parties de contrôle composites, mais les propriétés de surface des parties. Si les propriétés source et de destination utilisent des types différents, spécifiez une valeur de convertisseur qui peut résoudre la différence de type et retourner une valeur appropriée pour la destination.

Pour plus d’informations sur les namescopes XAML et leur influence sur les liaisons et d’autres accès programmatiques aux objets créés à partir de XAML, consultez Xaml namescopes.

La valeur de ElementName peut techniquement être n’importe quelle chaîne, mais les valeurs de l’attribut Name et x:Name sont appliquées pour être valides dans la grammaire XamlName, de sorte que vous êtes généralement lié par cette grammaire pour une valeur ElementName également. Pour plus d’informations sur ce qui est valide pour un nom d’élément, consultez la section « Grammaire XamlName » dans la référence de l’attribut x:Name .

Vous ne pouvez pas définir les valeurs de propriété d’un objet Binding après que cette liaison a été attachée à un élément cible et à une propriété cible. Si vous tentez cette opération, vous obtiendrez une exception d’exécution.

S’applique à

Voir aussi