BindableObjectExtensions.SetBinding Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
| SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Crea y aplica un enlace a una propiedad. |
| SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Obsoletos.
Crea y aplica un enlace desde una expresión. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)
Crea y aplica un enlace a una propiedad.
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
- self
- BindableObject
- targetProperty
- BindableProperty
BindableProperty en la que se va a establecer un enlace.
- path
- System.String
Clase System.String que indica la ruta de acceso a la propiedad a la que se va a enlazar.
- mode
- BindingMode
El BindingMode del enlace. Este parámetro es opcional. El valor predeterminado es Default.
- converter
- IValueConverter
Interfaz IValueConverter del enlace. Este parámetro es opcional. El valor predeterminado es null.
- stringFormat
- System.String
Cadena usada como stringFormat para el enlace. Este parámetro es opcional. El valor predeterminado es null.
Comentarios
En el ejemplo siguiente se muestra cómo usar el método de extensión para establecer un enlace.
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"
Se aplica a
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Precaución
Esta API ya está en desuso.
Crea y aplica un enlace desde una expresión.
[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
Tipo de origen.
Parámetros
- self
- BindableObject
BindableObject.
- targetProperty
- BindableProperty
BindableProperty a la que enlazar.
- sourceProperty
- System.Linq.Expressions.Expression<System.Func<TSource,System.Object>>
Expresión que se usa para recuperar la ruta de acceso de origen.
- mode
- BindingMode
BindingMode del enlace. Este parámetro es opcional. El valor predeterminado es Default.
- converter
- IValueConverter
Interfaz IValueConverter del enlace. Este parámetro es opcional. El valor predeterminado es null.
- stringFormat
- System.String
Cadena usada como stringFormat para el enlace. Este parámetro es opcional. El valor predeterminado es null.
- Atributos
-
System.ComponentModel.EditorBrowsableAttribute System.ObsoleteAttribute
Comentarios
Este método de extensión usa Expression en lugar de la ruta de acceso para crear y establecer enlaces. El uso de expresiones es más fácil de refactorizar.
En este ejemplo se muestra el valor de un enlace mediante el método de extensión .
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"