BindableObjectExtensions.SetBinding Yöntem

Tanım

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ı.

İfadeden 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

targetProperty
BindableProperty

Bağlamanın ayarlanacağı BindableProperty.

path
String

String Bağlanacak özellik yolunu gösteren bir.

mode
BindingMode

BindingMode bağlama için. 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 bir dize. Bu parametre isteğe bağlıdır. null varsayılan değerdir.

Açıklamalar

Aşağıdaki örnekte bağlama ayarlamak için uzantı yönteminin nasıl kullanılacağı 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 (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.

İfadeden 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

The BindableObject.

targetProperty
BindableProperty

Bağlanacak BindableProperty

sourceProperty
Expression<Func<TSource,Object>>

Kaynak yolu almak için kullanılan 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 bir dize. Bu parametre isteğe bağlıdır. null varsayılan değerdir.

Öznitelikler

Açıklamalar

Bu uzantı yöntemi bağlamaları oluşturup ayarlamak için yol yerine İfade kullanır. İfadeleri kullanmak daha kolay bir yeniden düzenlemedir.

Bu aşağıdaki örnek, uzantı yöntemini kullanarak bağlama ayarı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<PersonViewModel> (Label.TextProperty, vm => vm.Name);  // "Name" is the property on the view model
label.BindingContext = vm;

Debug.WriteLine (label.Text); // prints "John Doe"

Şunlara uygulanır