BindingMode Enumerazione
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.
Specifica la direzione del flusso di dati in un'associazione.
public enum class BindingMode
public enum BindingMode
type BindingMode =
Public Enum BindingMode
- Ereditarietà
-
BindingMode
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| Default | 0 | Usa la modalità di associazione predefinita per la proprietà di destinazione. |
| TwoWay | 1 | Aggiorna sia la destinazione che l'origine quando vengono apportate modifiche. |
| OneWay | 2 | Aggiorna la destinazione quando viene modificata l'origine. |
| OneWayToSource | 3 | Aggiorna l'origine quando viene modificata la destinazione. |
| OneTime | 4 | Aggiorna la destinazione una sola volta quando viene creata l'associazione. |
Commenti
Gli esempi seguenti illustrano alcuni casi d'uso di BindingMode.
public class PersonViewModel
{
public string Name { get; set; }
public string Company { get; set; }
}
Label label;
PersonViewModel viewmodel;
//BindingMode.OneWay
label = new Label ();
label.BindingContext = viewmodel = new PersonViewModel ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name, mode: BindingMode.OneWay);
viewmodel.Name = "John Doe";
Debug.WriteLine (label.Text); //prints ""
label.Text = "Foo";
Debug.WriteLine (viewmodel.Name); //prints "John Doe"
//BindingMode.TwoWay
label = new Label ();
label.BindingContext = viewmodel = new PersonViewModel ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name, mode: BindingMode.TwoWay);
viewmodel.Name = "John Doe";
Debug.WriteLine (label.Text); //prints "John Doe"
label.Text = "Foo";
Debug.WriteLine (viewmodel.Name); //prints "Foo"
//BindingMode.OneWayToSource
label = new Label ();
label.BindingContext = viewmodel = new PersonViewModel ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name, mode: BindingMode.OneWayToSource);
viewmodel.Name = "John Doe";
Debug.WriteLine (label.Text); //prints ""
label.Text = "Foo";
Debug.WriteLine (viewmodel.Name); //prints "Foo"