Binding.ElementName Proprietà

Definizione

Ottiene o imposta il nome dell'elemento da utilizzare come origine dell'associazione per l'oggetto Binding.

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

Valore della proprietà

String

Platform::String

winrt::hstring

Valore della proprietà Name o dell'attributo x:Name per l'elemento che si desidera utilizzare come origine dell'associazione. Il valore predefinito è una stringa vuota.

Esempio

Nell'esempio di codice seguente viene illustrato come stabilire un'associazione bidirezionale tra un controllo TextBox e un controllo Slider . Per l'elenco di codice completo, vedi lo scenario 1 nell'esempio di data binding XAML.

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

Commenti

Quando si imposta questa proprietà, il valore specificato deve fare riferimento a un elemento in una delle posizioni seguenti:

  • Ambito dei nomi XAML corrente.
  • Ambito dei nomi XAML dell'elemento padre basato su modelli se la destinazione dell'associazione si trova in un modello di dati o in un modello di controllo. A causa di questa restrizione, non è possibile utilizzare la proprietà ElementName per l'associazione a elementi non creati tramite XAML. Per eseguire l'associazione agli elementi creati a livello di codice, utilizzare invece la proprietà Source . Source, RelativeSource e ElementName si escludono a vicenda in un'associazione. Se hai impostato uno di questi attributi, l'impostazione di uno degli altri due in un'associazione (tramite XAML o tramite codice) genererà un'eccezione.

Le associazioni che usano un valore ElementName includono quasi sempre un semplice path che assegna un nome a una proprietà presente nell'oggetto a cui viene fatto riferimento. È comune che la proprietà di origine dell'elemento denominato e la proprietà di destinazione nella destinazione abbiano lo stesso nome e usino lo stesso tipo di valore, si tratta di uno scenario che viene visualizzato abbastanza spesso nelle definizioni del modello di controllo che fanno parte del controllo composito, ma le proprietà della superficie delle parti. Se le proprietà di origine e destinazione usano tipi diversi, specificare un valore converter in grado di risolvere la differenza di tipo e restituire un valore appropriato per la destinazione.

Per altre info sugli ambiti dei nomi XAML e su come influenzano i binding e altri accessi a livello di codice agli oggetti creati da XAML, vedi Ambiti dei nomi XAML.

Il valore di ElementName può essere tecnicamente qualsiasi stringa, ma i valori dell'attributo Name e x:Name vengono applicati per essere validi nella grammatica XamlName, quindi in genere sei associato anche a tale grammatica per un valore ElementName. Per altre info su ciò che è valido per un nome di elemento, vedi la sezione "Grammatica XamlName" nel riferimento all'attributo x:Name .

Non è possibile impostare i valori delle proprietà di un oggetto Binding dopo che tale associazione è stata associata a un elemento di destinazione e a una proprietà di destinazione. Se si tenta di ottenere un'eccezione in fase di esecuzione.

Si applica a

Vedi anche