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)
Geçersiz.

bir ifadeden 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
System.String

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

bir ifadeden 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
System.Linq.Expressions.Expression<System.Func<TSource,System.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
System.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
System.ComponentModel.EditorBrowsableAttribute System.ObsoleteAttribute

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.

Aşağıdaki örnek, uzantı yöntemini kullanarak bağlama ayarını göstermektedir.

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