Sdílet prostřednictvím


Binding Konstruktory

Definice

Přetížení

Binding()

Vytvoří a inicializuje novou instanci Binding třídy .

Binding(String, BindingMode, IValueConverter, Object, String, Object)

Vytvoří a inicializuje novou instanci Binding třídy .

Binding()

Vytvoří a inicializuje novou instanci Binding třídy .

public Binding ();

Platí pro

Binding(String, BindingMode, IValueConverter, Object, String, Object)

Vytvoří a inicializuje novou instanci Binding třídy .

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

Parametry

path
System.String

Cesta k vlastnosti.

mode
BindingMode

Režim vazby. Tato vlastnost je nepovinná. Výchozí je Default.

converter
IValueConverter

Převaděč. Tento parametr je volitelný. Výchozí je null.

converterParameter
System.Object

Uživatelem definovaný parametr, který se má předat převaděči. Tento parametr je volitelný. Výchozí je null.

stringFormat
System.String

Formát Řetězce. Tento parametr je volitelný. Výchozí je null.

source
System.Object

Objekt použitý jako zdroj pro tuto vazbu. Tento parametr je volitelný. Výchozí je null.

Poznámky

Následující příklad ukazuje, jak nastavit vazbu na vlastnost pomocí BindingMode a 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.

Platí pro