Sdílet prostřednictvím


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, na kterém chcete nastavit vazbu.

path
System.String

A System.String označující cestu k vlastnosti, se kterou se má vytvořit vazba.

mode
BindingMode

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

converter
IValueConverter

Pro IValueConverter vazbu. Tento parametr je volitelný. Výchozí je null.

stringFormat
System.String

Řetězec použitý 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

The BindableObject.

targetProperty
BindableProperty

Vlastnost BindableProperty pro vazbu na

sourceProperty
System.Linq.Expressions.Expression<System.Func<TSource,System.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

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

stringFormat
System.String

Řetězec použitý jako stringFormat pro vazbu. Tento parametr je volitelný. Výchozí je null.

Atributy
System.ComponentModel.EditorBrowsableAttribute System.ObsoleteAttribute

Poznámky

Tato rozšiřující metoda používá Expression místo cesty k vytvoření a nastavení vazeb. Použití výrazů je vhodnější pro refaktoring.

Následující příklad ukazuje nastavení vazby pomocí rozšiřující metody.

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