Binding Constructores
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
| Binding() |
Crea e inicializa una instancia de la clase Binding. |
| Binding(String, BindingMode, IValueConverter, Object, String, Object) |
Crea e inicializa una instancia de la clase Binding. |
Binding()
Binding(String, BindingMode, IValueConverter, Object, String, Object)
Crea e inicializa una instancia de la clase Binding.
public Binding(string path, Xamarin.Forms.BindingMode mode = Xamarin.Forms.BindingMode.Default, Xamarin.Forms.IValueConverter converter = default, object converterParameter = default, string stringFormat = default, object source = default);
new Xamarin.Forms.Binding : string * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * obj * string * obj -> Xamarin.Forms.Binding
Parámetros
- path
- System.String
Ruta de acceso de la propiedad.
- mode
- BindingMode
Modo de enlace. Esta propiedad es opcional. El valor predeterminado es Default.
- converter
- IValueConverter
Convertidor. Este parámetro es opcional. El valor predeterminado es null.
- converterParameter
- System.Object
Parámetro definido por el usuario que pasar al convertidor. Este parámetro es opcional. El valor predeterminado es null.
- stringFormat
- System.String
Formato de cadena. Este parámetro es opcional. El valor predeterminado es null.
- source
- System.Object
Objeto utilizado como origen de este enlace. Este parámetro es opcional. El valor predeterminado es null.
Comentarios
En el ejemplo siguiente se muestra cómo establecer un enlace en una propiedad con bindingMode y Converter:
public class PersonViewModel
{
public string Name { get; set; }
public string Company { get; set; }
}
public class ReverseConverter : IValueConverter
{
public object Convert (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var s = value as string;
if (s == null)
return value;
return new string (s.Reverse ().ToArray ());
}
public object ConvertBack (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var s = value as string;
if (s == null)
return value;
return new string (s.Reverse ().ToArray ());
}
}
var label = new Label ();
PersonViewModel person;
label.BindingContext = person = new PersonViewModel { Name = "John Doe", Company= "Xamarin" };
label.SetBinding (Label.TextProperty, new Binding ("Name", mode: BindingMode.TwoWay, converter: new ReverseConverter ()));
Debug.WriteLine (label.Text); //prints "eoD nhoJ". ReverseConverter.Convert () is invoked in this case.
label.Text = "ooF";
Debug.WriteLine (person.Name); //prints "Foo". ReverseConverter.ConvertBack () is invoked in this case. The label Text change is propagated back as the BindingMode is TwoWay.