Binding.ElementName Eigenschaft

Definition

Ruft den Namen des Elements ab, das als Bindungsquelle für die Bindung verwendet werden soll, oder legt diesen fest.

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"/>

Eigenschaftswert

String

Platform::String

winrt::hstring

Der Wert der Name-Eigenschaft oder des x:Name-Attributs für das Element, das Sie als Bindungsquelle verwenden möchten. Der Standardwert ist eine leere Zeichenfolge.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie eine bidirektionale Bindung zwischen einem TextBox-Steuerelement und einem Slider-Steuerelement einrichten. Die vollständige Codeauflistung finden Sie unter Szenario 1 im XAML-Datenbindungsbeispiel.

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

Hinweise

Wenn Sie diese Eigenschaft festlegen, muss der angegebene Wert auf ein Element an einem der folgenden Speicherorte verweisen:

  • Das aktuelle XAML-Namescope.
  • Das XAML-Namensskop des übergeordneten Elements mit Vorlage, wenn sich das Bindungsziel in einer Daten- oder Steuerelementvorlage befindet. Aufgrund dieser Einschränkung können Sie die ElementName-Eigenschaft nicht verwenden, um an Elemente zu binden, die nicht mit XAML erstellt werden. Um programmgesteuert an Elemente zu binden, verwenden Sie stattdessen die Source-Eigenschaft . Source, RelativeSource und ElementName schließen sich in einer Bindung gegenseitig aus. Wenn Sie eines dieser Attribute festgelegt haben, führt das Festlegen eines der beiden anderen Attribute in einer Bindung (über XAML oder code) zu einer Ausnahme.

Bindungen, die einen ElementName-Wert verwenden, enthalten fast immer einen einfachen Path , der eine Eigenschaft benennt, die für das Objekt vorhanden ist, auf das verwiesen wird. Es ist üblich, dass die Quelleigenschaft aus dem benannten Element und die Zieleigenschaft auf dem Ziel denselben Namen haben und denselben Werttyp verwenden. Dies ist ein Szenario, das häufig in Steuerelementvorlagendefinitionen mit zusammengesetzten Steuerelementteilen, aber Oberflächeneigenschaften aus den Teilen angezeigt wird. Wenn die Quell- und Zieleigenschaften unterschiedliche Typen verwenden, geben Sie einen Converter-Wert an, der die Typdifferenz auflösen und einen entsprechenden Wert für das Ziel zurückgeben kann.

Weitere Informationen zu XAML-Namescopes und deren Einfluss auf Bindungen und anderen programmgesteuerten Zugriff auf Objekte, die aus XAML erstellt wurden, finden Sie unter XAML-Namescopes.

Der Wert von ElementName kann technisch gesehen eine beliebige Zeichenfolge sein, aber die Werte von Name und x:Name-Attribut werden erzwungen, um in der XamlName-Grammatik gültig zu sein, sodass Sie normalerweise auch für einen ElementName-Wert an diese Grammatik gebunden sind. Weitere Informationen dazu, was für einen Elementnamen gültig ist, finden Sie im Abschnitt "XamlName-Grammatik" in der x:Name-Attributreferenz .

Sie können die Eigenschaftswerte eines Binding-Objekts nicht festlegen, nachdem diese Bindung einem Zielelement und einer Zieleigenschaft angefügt wurde. Wenn Sie dies versuchen, erhalten Sie eine Laufzeit-Ausnahme.

Gilt für:

Weitere Informationen