Binding Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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 |
DispatcherQueue |
Ottiene l'oggetto a cui è associato l'oggetto |
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
- <xref:Microsoft.UI.Xaml.Data.BindingOperations.SetBinding(Microsoft.UI.Xaml.DependencyObject%2cMicrosoft.UI.Xaml.DependencyProperty%2cMicrosoft.UI.Xaml.Data.BindingBase)%0a(bindingoperations_setbinding_746099660.md)>
- Esempio di data binding XAML
- Informazioni approfondite sul data binding
- Panoramica delle proprietà di dipendenza
- Sintassi proprietà-percorso