Condividi tramite


Binding Classe

Definizione

Definisce un'associazione che connette le proprietà di destinazioni di associazione e origini dati.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Binding : BindingBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Binding : BindingBase
Public Class Binding
Inherits BindingBase
<Binding .../>
- or -
<dependencyobject dependencyproperty="{Binding bindingArgs}" />
Ereditarietà
Object IInspectable DependencyObject BindingBase Binding
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

Nell'esempio di codice seguente viene illustrato come creare un'associazione in XAML. Per l'elenco di codice completo, vedere l'esempio di data binding XAML.

<StackPanel Margin="5">

  <TextBlock Text="Name:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBox Text="{Binding Path=Name, Mode=TwoWay}" 
    Width="350" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBlock Text="Organization:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <!-- You can omit the 'Path=' portion of the binding expression. --> 
  <TextBox Text="{Binding Organization, Mode=TwoWay}" Width="350" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

</StackPanel>

Il codice di esempio seguente illustra come creare un'associazione nel codice.

// Create the source string.
string s = "Hello";

// Create the binding description.
Binding b = new Binding();
b.Mode = BindingMode.OneTime;
b.Source = s;

// Attach the binding to the target.
TextBlock MyText = new TextBlock();
MyText.SetBinding(TextBlock.TextProperty, b);
// Create the source string.
String^ s = ref new String(L"Hello");

// Create the binding description.
Binding^ b = ref new Binding();
b->Mode = BindingMode::OneTime;
b->Source = s;

// Attach the binding to the target.
TextBlock^ MyText = ref new TextBlock();
MyText->SetBinding(MyText->TextProperty, b);
'Create the source string 
Dim s As String = "Hello"

'Create the binding description 
Dim b As New Binding()
b.Mode = BindingMode.OneTime
b.Source = s

'Attach the binding to the target 
Dim MyText As New TextBlock()
MyText.SetBinding(TextBlock.TextProperty, b)

Commenti

L'estensione di markup {Binding} consente di specificare un valore binding come singola stringa di attributo in XAML, inclusa l'impostazione delle proprietà binding, ad esempio Path e Source. Per altre informazioni sui concetti relativi al data binding, vedere Data binding in profondità.

La classe Binding può essere considerata l'esposizione code-behind dell'estensione di markup {Binding}. Se un'associazione viene già applicata a una destinazione (che si verifica quando viene caricato XAML), non è possibile impostare le proprietà di lettura-scrittura di un oggetto Binding per modificare il comportamento di un'associazione in fase di esecuzione. Qualsiasi associazione definita da XAML deve essere considerata non modificabile. È tuttavia possibile creare un nuovo oggetto Binding, impostarne le proprietà e stabilire un nuovo binding in una destinazione dell'elemento dell'interfaccia utente specifica usando FrameworkElement.SetBinding. Per altre informazioni, vedere Creazione di associazioni nel codice.

Un oggetto Binding connette una proprietà di dipendenza di un FrameworkElement direttamente a un oggetto dati in modo che gli aggiornamenti all'oggetto dati vengano propagati automaticamente alla proprietà che usa il data binding. La classe Binding definisce le proprietà di un'associazione. Ogni associazione deve avere un elemento di destinazione, una proprietà di destinazione e un'origine dati, anche se alcuni valori vengono forniti per impostazione predefinita se non vengono specificati.

Per associare a una proprietà o a una sotto proprietà in un oggetto dati, impostare la proprietà Path dell'oggetto Binding. Per altre informazioni su come impostare Percorso nel codice o in XAML, vedere Sintassi del percorso della proprietà o estensione di markup {Binding}.

È possibile applicare un'istanza di una classe Binding a più destinazioni. Tuttavia, non è possibile modificare i valori delle proprietà di un oggetto Binding dopo averla collegata a un elemento di destinazione.

Nota

La chiamata al metodo FrameworkElement.SetBinding e il passaggio di un nuovo oggetto Binding non rimuove necessariamente un'associazione esistente. È invece consigliabile usare il metodo DependencyObject.ClearValue .

Per altre informazioni sull'utilizzo degli attributi XAML per le proprietà che possono accettare un binding o che in caso contrario possono essere impostate su un valore associato a dati, vedere {Binding} estensione di markup.

La proprietà che costituisce la destinazione del data binding deve essere una proprietà di dipendenza. Per altre info, vedi Panoramica delle proprietà di dipendenza.

Costruttori

Binding()

Inizializza una nuova istanza della classe Binding .

Proprietà

Converter

Ottiene o imposta l'oggetto convertitore chiamato dal motore di associazione per modificare i dati mentre viene passato tra l'origine e la destinazione o viceversa.

ConverterLanguage

Ottiene o imposta un valore che denomina la lingua da passare a qualsiasi convertitore specificato dalla proprietà Converter .

ConverterParameter

Ottiene o imposta un parametro che può essere usato nella logica convertitore .

Dispatcher

Ottiene CoreDispatcher associato a questo oggetto. CoreDispatcher rappresenta una struttura che può accedere a DependencyObject nel thread dell'interfaccia utente anche se il codice viene avviato da un thread non interfaccia utente.

(Ereditato da DependencyObject)
ElementName

Ottiene o imposta il nome dell'elemento da usare come origine di associazione per l'associazione.

FallbackValue

Ottiene o imposta il valore da usare quando l'associazione non è in grado di restituire un valore.

Mode

Ottiene o imposta un valore che indica la direzione del flusso di dati del binding.

Path

Ottiene o imposta il percorso della proprietà di origine di associazione.

RelativeSource

Ottiene o imposta l'origine di associazione specificandone il percorso in relazione alla posizione della destinazione del binding. Viene usata più spesso nei binding all'interno dei modelli di controllo XAML.

Source

Ottiene o imposta l'origine dati per l'associazione.

TargetNullValue

Ottiene o imposta il valore utilizzato nella destinazione quando il valore dell'origine è Null.

UpdateSourceTrigger

Ottiene o imposta un valore che determina la tempistica degli aggiornamenti dell'origine di associazione per le associazioni bidirezionali.

Metodi

ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva.

(Ereditato da DependencyObject)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza da un oggetto DependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se viene impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche a un'istanza di DependencyObject specifica.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza in un oggetto DependencyObject.

(Ereditato da DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback.

(Ereditato da DependencyObject)

Si applica a

Vedi anche