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 değişiklik yayma yönü.
public enum BindingMode
type BindingMode =
- Devralma
-
BindingMode
Alanlar
| Default | 0 | Bağlamalarda kullanıldığında, bağlamanın öğesini kullanması gerektiğini belirtir DefaultBindingMode . Bindadbleproperty bildiriminde kullanıldığında varsayılan olarak BindingMode. OneWay olur. |
| OneTime | 4 | Bağlamanın yalnızca bağlama bağlamı değiştiği zaman ve değerin |
| OneWay | 2 | Bağlamanın yalnızca kaynaktaki değişiklikleri (genellikle görünüm modeli) hedefe (Bindadbleobject) yaydığını gösterir. Bu, çoğu Bindavbleproperty değeri için varsayılan moddur. |
| OneWayToSource | 3 | Bağlamanın yalnızca hedeften (Bindavbleobject) yapılan değişiklikleri kaynağa (genellikle görünüm modeli) yaydığını gösterir. Bu, genellikle salt okunurdur Bindadbleproperty değerleri için kullanılır. |
| TwoWay | 1 | Bağlamanın, değişiklikleri kaynaktaki (genellikle görünüm modeli) hedeften (Bindadbleobject) her iki yönde yaymalıdır. |
Açıklamalar
Aşağıdaki örneklerde bazı BindingMode kullanım durumları 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"