Condividi tramite


BindableObjectExtensions.SetBinding Metodo

Definizione

Overload

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

Crea un'associazione e la applica a una proprietà.

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

Crea e applica un'associazione da un'espressione.

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

Crea un'associazione e la applica a una proprietà.

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

Parametri

targetProperty
BindableProperty

BindableProperty per la quale impostare un'associazione.

path
System.String

Oggetto System.String che indica il percorso della proprietà da associare.

mode
BindingMode

Enumerazione BindingMode per l'associazione. Questo parametro è facoltativo. Il valore predefinito è Default.

converter
IValueConverter

Elemento IValueConverter per l'associazione. Questo parametro è facoltativo. Il valore predefinito è null.

stringFormat
System.String

Stringa usata come stringFormat per l'associazione. Questo parametro è facoltativo. Il valore predefinito è null.

Commenti

Nell'esempio seguente viene illustrato come usare il metodo di estensione per impostare un'associazione.

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"

Si applica a

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

Attenzione

Questa API è ora deprecata.

Crea e applica un'associazione da un'espressione.

[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

Parametri di tipo

TSource

Tipo di origine.

Parametri

self
BindableObject

Oggetto BindableObject.

targetProperty
BindableProperty

BindableProperty alla quale eseguire l'associazione

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

Espressione usata per recuperare il percorso di origine.

mode
BindingMode

BindingMode per l'associazione. Questo parametro è facoltativo. Il valore predefinito è Default.

converter
IValueConverter

Elemento IValueConverter per l'associazione. Questo parametro è facoltativo. Il valore predefinito è null.

stringFormat
System.String

Stringa usata come stringFormat per l'associazione. Questo parametro è facoltativo. Il valore predefinito è null.

Attributi
System.ComponentModel.EditorBrowsableAttribute System.ObsoleteAttribute

Commenti

Questo metodo di estensione usa Expression anziché il percorso per creare e impostare associazioni. L'uso di espressioni è più descrittivo per il refactoring.

Questo esempio seguente illustra l'impostazione di un'associazione usando il metodo di estensione.

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"

Si applica a