BindableObjectExtensions.SetBinding Methode

Definition

Überlädt

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

Erstellt eine Bindung mit einer Eigenschaft und wendet diese an.

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

Erstellt eine Bindung aus einem Ausdruck und wendet diese an.

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

Erstellt eine Bindung mit einer Eigenschaft und wendet diese an.

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

Parameter

targetProperty
BindableProperty

Die BindableProperty-Klasse, für die eine Bindung festgelegt werden soll.

path
String

Ein String-Objekt, das den Eigenschaftspfad angibt, mit dem die Bindung erfolgen soll.

mode
BindingMode

Der BindingMode für die Bindung. Dieser Parameter ist optional. Der Standardwert ist Default.

converter
IValueConverter

Eine IValueConverter-Schnittstelle für die Bindung. Dieser Parameter ist optional. Der Standardwert ist null.

stringFormat
String

Eine Zeichenfolge, die als stringFormat-Objekt für die Bindung verwendet werden soll. Dieser Parameter ist optional. Der Standardwert ist null.

Hinweise

Im folgenden Beispiel wird gezeigt, wie sie mithilfe der Erweiterungsmethode eine Bindung festlegen.

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"

Gilt für:

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

Achtung

Diese API ist nun veraltet.

Erstellt eine Bindung aus einem Ausdruck und wendet diese an.

[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

Typparameter

TSource

Der Quelltyp.

Parameter

self
BindableObject

Die BindableObject-Klasse.

targetProperty
BindableProperty

Die BindableProperty-Klasse, mit der die Bindung erfolgen soll.

sourceProperty
Expression<Func<TSource,Object>>

Ein Ausdruck, der zum Abrufen des Quellpfads verwendet wird.

mode
BindingMode

Die BindingMode-Enumeration für die Bindung. Dieser Parameter ist optional. Der Standardwert ist Default.

converter
IValueConverter

Eine IValueConverter-Schnittstelle für die Bindung. Dieser Parameter ist optional. Der Standardwert ist null.

stringFormat
String

Eine Zeichenfolge, die als stringFormat-Objekt für die Bindung verwendet werden soll. Dieser Parameter ist optional. Der Standardwert ist null.

Attribute

Hinweise

Diese Erweiterungsmethode verwendet Expression anstelle des Pfads, um Bindungen zu erstellen und zu festlegen. Die Verwendung von Ausdrücken ist umgestaltenfreundlicher.

In diesem folgenden Beispiel wird die Einstellung einer Bindung mithilfe der Erweiterungsmethode veranschaulicht.

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"

Gilt für: