BindableObjectExtensions.SetBinding Metoda

Definicja

Przeciążenia

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

Tworzy i stosuje powiązanie z właściwością.

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

Tworzy i stosuje powiązanie z wyrażenia.

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

Tworzy i stosuje powiązanie z właściwością.

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 którym ma zostać ustawione powiązanie.

path
String

StringWskazanie ścieżki właściwości, z którą ma zostać utworzone powiązanie.

mode
BindingMode

BindingModeDla powiązania. Ten parametr jest opcjonalny. Wartość domyślna to Default.

converter
IValueConverter

IValueConverterDla powiązania. Ten parametr jest opcjonalny. Wartość domyślna to null.

stringFormat
String

Ciąg używany jako StringFormat — dla powiązania. Ten parametr jest opcjonalny. Wartość domyślna to null.

Uwagi

Poniższy przykład pokazuje, jak używać metody rozszerzenia do ustawiania powiązania.

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"

Dotyczy

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

Przestroga

Ten interfejs API jest teraz przestarzały.

Tworzy i stosuje powiązanie z wyrażenia.

[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 źródła.

Parametry

self
BindableObject

BindableObject.

targetProperty
BindableProperty

BindableProperty do powiązania z

sourceProperty
Expression<Func<TSource,Object>>

Wyrażenie używane do pobierania ścieżki źródłowej.

mode
BindingMode

Wartość BindingMode dla powiązania. Ten parametr jest opcjonalny. Wartość domyślna to Default.

converter
IValueConverter

Metody IValueConverter dla powiązania. Ten parametr jest opcjonalny. Wartość domyślna to null.

stringFormat
String

Ciąg używany jako StringFormat — dla powiązania. Ten parametr jest opcjonalny. Wartość domyślna to null.

Atrybuty

Uwagi

Ta metoda rozszerzenia używa wyrażenia zamiast ścieżki do tworzenia i ustawiania powiązań. Używanie wyrażeń jest bardziej przyjazne dla refaktoryzacji.

Poniższy przykład ilustruje ustawienie powiązania przy użyciu metody rozszerzenia.

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"

Dotyczy