BindableObjectExtensions.SetBinding Metoda

Definice

Přetížení

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Vytvoří a použije vazbu na vlastnost.

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Zastaralé.

Vytvoří a použije vazbu z výrazu.

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Vytvoří a použije vazbu na vlastnost.

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

Parametry

targetProperty
BindableProperty

BindableProperty, pro který chcete nastavit vazbu.

path
String

A String označuje cestu k vlastnosti, na kterou má být vytvořena vazba.

mode
BindingMode

BindingModePro vazbu. Tento parametr je volitelný. Výchozí je Default.

converter
IValueConverter

IValueConverterPro vazbu. Tento parametr je volitelný. Výchozí je null.

stringFormat
String

Řetězec, který se používá jako StringFormat – pro vazbu. Tento parametr je volitelný. Výchozí je null.

Poznámky

Následující příklad ukazuje, jak použít metodu rozšíření k nastavení vazby.

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"

Platí pro

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)

Upozornění

Toto rozhraní API je teď zastaralé.

Vytvoří a použije vazbu z výrazu.

[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

Parametry typu

TSource

Typ zdroje.

Parametry

self
BindableObject

BindableObject.

targetProperty
BindableProperty

BindableProperty, ke kterému se má vytvořit vazba

sourceProperty
Expression<Func<TSource,Object>>

Výraz použitý k načtení zdrojové cesty

mode
BindingMode

BindingMode pro vazbu. Tento parametr je volitelný. Výchozí je Default.

converter
IValueConverter

Metodě IValueConverter pro vazbu. Tento parametr je volitelný. Výchozí je null.

stringFormat
String

Řetězec, který se používá jako StringFormat – pro vazbu. Tento parametr je volitelný. Výchozí je null.

Atributy

Poznámky

Tato metoda rozšíření používá výraz místo cesty k vytváření a nastavení vazeb. Použití výrazů je srozumitelnější.

Následující příklad ilustruje nastavení vazby pomocí metody rozšíření.

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"

Platí pro