BindableObjectExtensions.SetBinding BindableObjectExtensions.SetBinding Method

Definición

Sobrecargas

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

Crea y aplica un enlace a una propiedad.Creates and applies a binding to a property.

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

Crea y aplica un enlace desde una expresión.Creates and applies a binding from an expression.

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

Crea y aplica un enlace a una propiedad.Creates and applies a binding to a property.

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 = null, string stringFormat = null);
static member SetBinding : Xamarin.Forms.BindableObject * Xamarin.Forms.BindableProperty * string * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * string -> unit

Parámetros

targetProperty
BindableProperty BindableProperty

BindableProperty en la que se va a establecer un enlace.The BindableProperty on which to set a bindinge.

path
String String

Clase String que indica la ruta de acceso a la propiedad a la que se va a enlazar.A String indicating the property path to bind to.

mode
BindingMode BindingMode

El BindingMode del enlace.The BindingMode for the binding. Este parámetro es opcional.This parameter is optional. El valor predeterminado es Default.Default is Default.

converter
IValueConverter IValueConverter

Interfaz IValueConverter del enlace.An IValueConverter for the binding. Este parámetro es opcional.This parameter is optional. El valor predeterminado es null.Default is null.

stringFormat
String String

Cadena usada como stringFormat para el enlace.A string used as stringFormat for the binding. Este parámetro es opcional.This parameter is optional. El valor predeterminado es null.Default is null.

Comentarios

El ejemplo siguiente muestra cómo usar el método de extensión para establecer un enlace.The following example shows how to use the extension method to set a binding.


var label = new Label ();
label.SetBinding (Label.TextProperty, "Name");
label.BindingContext = new {Name = "John Doe", Company = "Xamarin"};
Debug.WriteLine (label.Text); //prints "John Doe"

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

Advertencia

Esta API está ya obsoleta.

Crea y aplica un enlace desde una expresión.Creates and applies a binding from an expression.

[System.Obsolete]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
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 = null, string stringFormat = null);
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

El tipo de origen.The source type.

Parámetros

self
BindableObject BindableObject

BindableObject.The BindableObject.

targetProperty
BindableProperty BindableProperty

BindableProperty a la que enlazar.The BindableProperty to bind to

sourceProperty
Expression<Func<TSource,Object>>

Expresión que se usa para recuperar la ruta de acceso de origen.An expression used to retrieve the source path.

mode
BindingMode BindingMode

BindingMode del enlace.The BindingMode for the binding. Este parámetro es opcional.This parameter is optional. El valor predeterminado es Default.Default is Default.

converter
IValueConverter IValueConverter

Interfaz IValueConverter del enlace.An IValueConverter for the binding. Este parámetro es opcional.This parameter is optional. El valor predeterminado es null.Default is null.

stringFormat
String String

Cadena usada como stringFormat para el enlace.A string used as stringFormat for the binding. Este parámetro es opcional.This parameter is optional. El valor predeterminado es null.Default is null.

Comentarios

Este método de extensión usa la expresión en lugar de la ruta de acceso se crea y establece los enlaces.This extension method uses Expression instead of path to creates and sets bindings. Uso de expresiones es más sencillo de refactorización.Using Expressions is more refactoring friendly.

En el ejemplo siguiente se ilustra la configuración de un enlace mediante el método de extensión.This following example illustrates the setting of a binding using the extension method.


public class PersonViewModel
{
  public string Name { get; set; }
  public string Company { get; set; }
}
    
var label = new Label ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name);
label.BindingContext = new PersonViewModel {
  Name = "John Doe", 
  Company = "Xamarin"
};
Debug.WriteLine (label.Text); //prints "John Doe"

Se aplica a