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

La 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, vedere Data binding approfondito.

La classe Binding può essere considerata l'esposizione code-behind dell'estensione di markup {Binding}. Se un binding è già applicato 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 una nuova associazione 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 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 Percorso 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. Devi invece usare il metodo Microsoft.UI.Xaml.DependencyObject.ClearValue.

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 rappresenta la destinazione di un data binding deve essere una proprietà di dipendenza. Per altre informazioni, vedere 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 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 Converter.

Dispatcher

Restituisce sempre null in un'app di Windows App SDK. In alternativa, usare DispatcherQueue.

(Ereditato da DependencyObject)
DispatcherQueue

Ottiene il DispatcherQueue a cui è associato questo oggetto. Il DispatcherQueue rappresenta una funzionalità che può accedere al DependencyObject nel thread dell'interfaccia 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 di associazione per l'Binding.

FallbackValue

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

Mode

Ottiene o imposta un valore che indica la direzione del flusso di dati nell'associazione.

Path

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

RelativeSource

Ottiene o imposta l'origine dell'associazione specificandone la posizione rispetto alla posizione della destinazione dell'associazione. Questa operazione viene spesso usata nelle associazioni 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 dell'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 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 specifica DependencyProperty in questa istanza DependencyObject.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

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