BindableObjectExtensions.SetBinding Yöntem
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.
Aşırı Yüklemeler
| SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Bir özelliğe bağlama oluşturur ve uygular. |
| SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Kullanımdan kalktı.
Bir ifadeden bir bağlama oluşturur ve uygular. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)
Bir özelliğe bağlama oluşturur ve uygular.
public static void SetBinding (this Xamarin.Forms.BindableObject self, Xamarin.Forms.BindableProperty targetProperty, string path, Xamarin.Forms.BindingMode mode = Xamarin.Forms.BindingMode.Default, Xamarin.Forms.IValueConverter converter = default, string stringFormat = default);
static member SetBinding : Xamarin.Forms.BindableObject * Xamarin.Forms.BindableProperty * string * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * string -> unit
Parametreler
- self
- BindableObject
- targetProperty
- BindableProperty
Bağlama ayarlanacak Bindadbleproperty.
- mode
- BindingMode
BindingModeBağlama için. Bu parametre isteğe bağlıdır. Default varsayılan değerdir.
- converter
- IValueConverter
IValueConverterBağlama için bir. Bu parametre isteğe bağlıdır. null varsayılan değerdir.
- stringFormat
- String
Bağlama için stringFormat olarak kullanılan dize. Bu parametre isteğe bağlıdır. null varsayılan değerdir.
Açıklamalar
Aşağıdaki örnek, bir bağlama ayarlamak için Genişletme yönteminin nasıl kullanılacağını gösterir.
public class PersonViewModel
{
public string Name { get; set; }
public string Company { get; set; }
}
// ...
var vm = new PersonViewModel {
Name = "John Doe",
Company = "Xamarin"
}
var label = new Label ();
label.SetBinding (Label.TextProperty, "Name"); // "Name" is the property on the view model
label.BindingContext = vm;
Debug.WriteLine (label.Text); // prints "John Doe"
Şunlara uygulanır
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Dikkat
Bu API artık kullanım dışıdır.
Bir ifadeden bir bağlama oluşturur ve uygular.
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete]
public static void SetBinding<TSource> (this Xamarin.Forms.BindableObject self, Xamarin.Forms.BindableProperty targetProperty, System.Linq.Expressions.Expression<Func<TSource,object>> sourceProperty, Xamarin.Forms.BindingMode mode = Xamarin.Forms.BindingMode.Default, Xamarin.Forms.IValueConverter converter = default, string stringFormat = default);
static member SetBinding : Xamarin.Forms.BindableObject * Xamarin.Forms.BindableProperty * System.Linq.Expressions.Expression<Func<'Source, obj>> * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * string -> unit
Tür Parametreleri
- TSource
Kaynak türü.
Parametreler
- self
- BindableObject
Bindadbleobject.
- targetProperty
- BindableProperty
Bağlanacak Bindadbleproperty
- sourceProperty
- Expression<Func<TSource,Object>>
Kaynak yolu almak için kullanılan bir ifade.
- mode
- BindingMode
Bağlama için BindingMode. Bu parametre isteğe bağlıdır. Default varsayılan değerdir.
- converter
- IValueConverter
Bağlama için bir IValueConverter. Bu parametre isteğe bağlıdır. null varsayılan değerdir.
- stringFormat
- String
Bağlama için stringFormat olarak kullanılan dize. Bu parametre isteğe bağlıdır. null varsayılan değerdir.
- Öznitelikler
Açıklamalar
Bu genişletme yöntemi, bağlamaları oluşturup bunları ayarlayan yol yerine Ifade kullanır. Ifadeleri kullanmak daha yeniden düzenleme kolay.
Aşağıdaki örnekte, genişletme yöntemi kullanılarak bir bağlamanın ayarı gösterilmektedir.
public class PersonViewModel
{
public string Name { get; set; }
public string Company { get; set; }
}
// ...
var vm = new PersonViewModel {
Name = "John Doe",
Company = "Xamarin"
};
var label = new Label ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name); // "Name" is the property on the view model
label.BindingContext = vm;
Debug.WriteLine (label.Text); // prints "John Doe"