Binding Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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()
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.