BindableObjectExtensions.SetBinding Método

Definição

Sobrecargas

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Cria e aplica uma associação a uma propriedade.

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Obsoleto.

Cria e aplica uma associação de uma expressão.

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Cria e aplica uma associação a uma propriedade.

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

Parâmetros

targetProperty
BindableProperty

A BindableProperty na qual definir uma associação.

path
System.String

Uma System.String que indica o caminho da propriedade à qual associar.

mode
BindingMode

O BindingMode para a associação. Esse parâmetro é opcional. O padrão é Default.

converter
IValueConverter

Um IValueConverter para a associação. Esse parâmetro é opcional. O padrão é null.

stringFormat
System.String

Uma cadeia de caracteres usada como stringFormat para a associação. Esse parâmetro é opcional. O padrão é null.

Comentários

O exemplo a seguir mostra como usar o método de extensão para definir uma associação.

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"

Aplica-se a

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)

Cuidado

Essa API foi preterida.

Cria e aplica uma associação de uma expressão.

[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

Parâmetros de tipo

TSource

O tipo de origem.

Parâmetros

self
BindableObject

O BindableObject.

targetProperty
BindableProperty

A BindableProperty à qual associar

sourceProperty
System.Linq.Expressions.Expression<System.Func<TSource,System.Object>>

Uma expressão usada para recuperar o caminho de origem.

mode
BindingMode

O BindingMode para a associação. Esse parâmetro é opcional. O padrão é Default.

converter
IValueConverter

Um IValueConverter para a associação. Esse parâmetro é opcional. O padrão é null.

stringFormat
System.String

Uma cadeia de caracteres usada como stringFormat para a associação. Esse parâmetro é opcional. O padrão é null.

Atributos
System.ComponentModel.EditorBrowsableAttribute System.ObsoleteAttribute

Comentários

Esse método de extensão usa Expression em vez de path para criar e definir associações. Usar expressões é mais amigável para refatoração.

Este exemplo a seguir ilustra a configuração de uma associação usando o método de extensão .

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"

Aplica-se a