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"