Condividi tramite


Binding Classe

Definizione

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

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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

Esempio

L'esempio di codice seguente illustra come creare un'associazione in XAML. Per l'elenco di codice completo, vedi 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);

Commenti

L'estensione di markup {Binding} consente di specificare un valore binding come una 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, vedi Informazioni approfondite sul data binding.

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 il codice 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 una nuova associazione in una destinazione dell'elemento dell'interfaccia utente specifica usando FrameworkElement.SetBinding. Per altre info, vedi 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 utilizza 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 eseguire l'associazione a una proprietà o a una sottoproprietà in un oggetto dati, impostare la proprietà Path dell'oggetto Binding. Per altre info su come impostare Path nel codice o in XAML, vedi Sintassi del percorso 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 averlo collegato a un elemento di destinazione.

Nota

La chiamata al metodo FrameworkElement.SetBinding e il passaggio di un nuovo oggetto Binding non comporta necessariamente la rimozione di un'associazione esistente. È invece consigliabile usare il DependencyObject.ClearValue(DependencyProperty) metodo .

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

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 vengono passati tra l'origine e la destinazione o viceversa.

ConverterLanguage

Ottiene o imposta un valore che assegna un nome alla lingua da passare a qualsiasi convertitore specificato dalla proprietà Converter .

ConverterParameter

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

Dispatcher

Restituisce null sempre in un'app SDK per app di Windows. Usare invece DispatcherQueue .

(Ereditato da DependencyObject)
DispatcherQueue

Ottiene l'oggetto a cui è associato l'oggetto DispatcherQueue . DispatcherQueue Rappresenta una funzionalità che può accedere a nel thread dell'interfaccia DependencyObject utente anche se il codice viene avviato da un thread non dell'interfaccia utente.

(Ereditato da DependencyObject)
ElementName

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

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 dependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

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

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche apportate a una dipendenza specifica in questa istanza di DependencyObject .

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza su 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