BindingMode Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bağlamalar için yayılmayı değiştirme yönü.
public enum BindingMode
type BindingMode =
- Devralma
-
System.EnumBindingMode
Alanlar
Default | 0 | Bağlamalar'da kullanıldığında Bağlama'nın kullanması DefaultBindingModegerektiğini belirtir. BindableProperty bildiriminde kullanıldığında, varsayılan olarak BindingMode.OneWay olarak ayarlanır. |
OneTime | 4 | Bağlamanın yalnızca bağlama bağlamı değiştiğinde uygulanacağını ve değerin ile |
OneWay | 2 | Bağlamanın yalnızca kaynaktan (genellikle Modeli Görüntüle) hedefe (BindableObject) değişiklikleri yayması gerektiğini gösterir. Bu, çoğu BindableProperty değeri için varsayılan moddur. |
OneWayToSource | 3 | Bağlamanın değişiklikleri yalnızca hedeften (BindableObject) kaynağa (genellikle Modeli Görüntüle) yayması gerektiğini gösterir. Bu genellikle salt okunur BindableProperty değerleri için kullanılır. |
TwoWay | 1 | Bağlamanın değişiklikleri kaynaktan (genellikle Modeli Görüntüle) hedefe (BindableObject) her iki yönde yayması gerektiğini gösterir. |
Açıklamalar
Aşağıdaki örneklerde bazı BindingMode kullanım örnekleri gösterilmektedir.
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"