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

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

targetProperty
BindableProperty

Bağlama ayarlanacak Bindadbleproperty.

path
String

Bağlanılacak String özellik yolunu belirten bir.

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

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"

Şunlara uygulanır