BindableObjectExtensions.SetBinding Méthode

Définition

Surcharges

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

Crée et applique une liaison à une propriété.

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

Crée et applique une liaison à partir d’une expression.

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

Crée et applique une liaison à une propriété.

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

Paramètres

self
BindableObject

L’BindableObjectopérateur

targetProperty
BindableProperty

BindableProperty sur lequel définir une liaison.

path
System.String

System.String indiquant le chemin de la propriété à lier.

mode
BindingMode

BindingMode pour la liaison. Ce paramètre est optionnel. La valeur par défaut est Default.

converter
IValueConverter

IValueConverter pour la liaison. Ce paramètre est optionnel. La valeur par défaut est null.

stringFormat
System.String

Chaîne utilisée comme stringFormat pour la liaison. Ce paramètre est optionnel. La valeur par défaut est null.

Remarques

L’exemple suivant montre comment utiliser la méthode d’extension pour définir une liaison.

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"

S’applique à

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

Attention

Cette API est à présent déconseillée.

Crée et applique une liaison à partir d’une expression.

[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

Paramètres de type

TSource

Type de source.

Paramètres

self
BindableObject

BindableObject.

targetProperty
BindableProperty

BindableProperty à lier

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

Expression utilisée pour récupérer le chemin source.

mode
BindingMode

BindingMode pour la liaison. Ce paramètre est optionnel. La valeur par défaut est Default.

converter
IValueConverter

IValueConverter pour la liaison. Ce paramètre est optionnel. La valeur par défaut est null.

stringFormat
System.String

Chaîne utilisée comme stringFormat pour la liaison. Ce paramètre est optionnel. La valeur par défaut est null.

Attributs
System.ComponentModel.EditorBrowsableAttribute System.ObsoleteAttribute

Remarques

Cette méthode d’extension utilise Expression au lieu du chemin d’accès pour créer et définir des liaisons. L’utilisation d’expressions est plus conviviale pour la refactorisation.

Cet exemple illustre le paramètre d’une liaison à l’aide de la méthode d’extension.

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"

S’applique à